返回主站|会员中心|保存桌面
普通会员

厦门仲鑫达自动化设备有限公司分部

AB ABB GE 施耐德 本特利 英维斯

产品分类
  • 暂无分类
站内搜索
 
友情链接
首页 > 供应产品 > GE IC694MDL754
GE IC694MDL754
点击图片查看原图
产品: 浏览次数:0GE IC694MDL754 
品牌: GE IC694MDL754
单价: 457.00元/个
最小起订量: 1 个
供货总量: 12 个
发货期限: 自买家付款之日起 3 天内发货
有效期至: 长期有效
最后更新: 2018-11-17
  询价
详细信息
 GE IC694MDL754
GE IC694MDL754
GE IC694MDL754
GE IC694MDL754

Windows内部的抢先调度程序在活动的线程之间分配CPU时间,Windows区分两种不同类型的线程,一种是用户界面线程(UserInterfaceThread),它包含消息循环或消息泵,用于处理接收到的消息;另一种是工作线程(WorkThread)它没有消息循环,用于执行后台任务、监视串口事件的线程即为工作线程。 

本系统采用MFC编程方法,MFC是把串口作为文件设备来处理的,它用CreateFile()打开串口,并获得一个串口句柄,用SetCommState()进行端口配置,包括缓冲区设置,超时设置和数据格式等。然后调用函数ReadFile()和WriteFile()进行数据的读写,用WaitForSingleObject()监视通信事件。在用ReadFile()和WriteFile()读写串口时,一般采用重叠方式。因为同步I/O方式是当程序执行完毕才返回,这样会阻塞其他线程,降低程序执行效率。而重叠方式能使调用的函数立即返回,I/O操作在后台进行,这样线程就可以处理其他事务,同时也实现了线程在同一串口句柄上实现读写操作。 

使用重叠I/O方式时,线程要创建OVERLAPPED结构供读写函数使用,该结构**的成员是hEvent事件句柄。它将作为线程的同步对象使用,读写函数完成时hEvent处于有信号状态,表示可进行读写操作;读写函数未完成时,hEvent被置为无信号。 

利用Windows的多线程技术,在辅助线程中监视串口,有数据到达时依靠事件驱动,读入数据并向主线程报告;并且,依靠重叠读写操作,让串口读写操作在后台运行。 

4.上位计算机通信程序设计 

以读取PLC输出线圈Y0为首的2个字节的数据为例,编写一个通信程序。查PLC软元件地址表可知,输出线圈Y0的首地址为00A0H,2个字节的数据即为Y0-Y7和Y10-Y17,根据返回的数据,就可以知道PLC此时的状态,以实现对PLC的监控。在每一次读操作之前,先要进行握手联络。对PLC发请求讯号ENQ,然后读PLC的响应讯号。如果读到的响应讯号为ACK,则表示PLC已准备就绪,等待接收通讯数据。 

BOOLCPlcComDlg::ReadFromPLC(char*Read_char,char*Read_address,intRead_bytes) 

{CSerialSerial;//用于串行通讯的类 

if(Serial.Open(1))//初始化串行通讯口COM1 

{Serial.SendData(&ENQ_request,1);//发送联络讯号 

Sleep(20);//等待20ms秒 

Serial.ReadData(&read_BUFFER,1);//读取PLC响应讯号 

if(read_BUFFER==ACK){ 

…… 

Serial.SendData(&STX_start,1);//向PLC发送“开始”标志代码 
Serial.SendData(&CMD0_read,1);//发送“读”命令代码 

datasum_check+=CMD0_read; 

for(i=0;i<4;i++){ 

Serial.SendData(&Read_address[i>,1);//发送起始元件地址的ASCⅡ代码 
询价单
0条  相关评论