企业资质

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

普通会员8
|
企业等级:普通会员
经营模式:
所在地区:福建 厦门
联系卖家:
手机号码:
公司官网:
企业地址:
企业概况

DCS集散式控制系统:FOXBORO(福克斯波罗):I/ASeries系统:FBM(现场输入/输出模块)顺序控制、梯形逻辑控制、事故追忆处理、数模转换、输入/输出信号处理、数据通信及处理等。TRICONEX:冗余容错控制系统、基于三重模件冗余(TMR)结构的最现代化的容错控制器。Westinghou......

SNAT634PAC

产品编号:108884664                    更新时间:2018-09-07
价格: ¥457.00

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

  • 主营业务:AB ABB GE 施耐德本特利
  • 公司官网:
  • 公司地址:

联系人名片:

联系时务必告知是在"产品网"看到的

产品详情

SNAT634PAC

SNAT634PAC

SNAT634PAC

SNAT634PAC

使用重叠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 

{ndData(&ENQ_request,1);//发送联络讯号 

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

adData(&read_BUFFER,1);//读取PLC响应讯号 

if(read_BUFFER==ACK){ 

…… 

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

datasum_check+=CMD0_read; 

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

ndData(&Read_address[i>,1);//发送起始元件地址的ASCⅡ代码 

…… 

ndData(&ETX_end,1);//发送结束标志代码 

Change_to_ASCII(senddatasum_CHECK,datasum_check);//将“和”转化成ASCⅡ代码 

Sleep(40);//等待PLC的反应 

…… 

adData(&Read_char[i>,1);//读Read_bytes个字节 

if(*readdatasum_CHECK==*readdatasum_check)//“和”效验 

{AfxMessageBox("数据读取成功!"); 

returnTRUE;} 

else{AfxMessageBox("校验错误!"); 

returnFALSE;}} 

} 

5.结束语 

本文作者创新点:笔者提出了一种基于多线程的PC机与PLC的通讯,该通讯程序采用VC比用VB具有更好的实时性;并采用MFC编程方法用重叠结构读写串口,使串口读写在后台进行。该通讯程序可靠、可移植性好。 

本通讯程序作为该系统的一个重要组成部分,经现场调试证明,既简单又实用,具有很好的实用价值。同时,该系统具有直观的人机界面和方便的操作方式,具有广阔的应用前景

厦门仲鑫达自动化设备有限公司电话:传真:联系人:

地址:主营产品:AB ABB GE 施耐德本特利

Copyright © 2025 版权所有: 产品网店铺主体:厦门仲鑫达自动化设备有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。