资源描述:
《上位机和plc串行通信的程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第20卷第1期计算机应用Vol.20,No.12000年1月ComputerApplicationsJan.2000上位机和PLC串行通信的程序设计宋海生单根立任有志陈继荣河北科技大学河北石家庄(050054)摘要本文介绍了在Windows环境下实现上位机和OMRONPLC的串行通信,给出了用VisualC++编写的应用程序。关键词串行通信,上位机,可编程序控制器,Windows+中图分类号TP273.5上位机链接通信在上位机和PLC间实现命令1引言和应答的交换。C200HS有两种通信方式:其一,正可编程序控制器(PLC
2、)因其适用于工业现场控常方式,命令由上位机发到PLC;其二,命令由PLC制,具有可靠性高、开发周期短等显著特点,作为机发到上位机。电一体化为目标的新型工业控制器得到了广泛的应命令和应答信号按图1所示顺序交换。具有送用。但PLC的显示功能较差。将个人计算机与PLC帧权的单元可在任意给定时间传送帧。每当帧传送结合起来,二者优势互补,利用个人计算机强大的人时,送帧权在上位机和PLC间交换。当收到终止符机接口功能、丰富的系统软件和低廉的价格,可组成或定界符时,送帧权由发送单元移至接受单元。在高性能价格比的控制系统。实现上位机与PLC结合上位机链接通信
3、中,上位机首先拥有送帧权并对通的控制系统的关键是二者之间的通信。由于OM信进行初始化,PLC则自动发送一应答信号。RONPLCC200HSCPU配有16K的RAM、内置时钟、2.2命令帧和响应帧结构SR区域和DM区域的扩大、指令执行速度的加快、图2和图3分别给出了命令帧和响应帧的结指令数量的增加、设置功能的增强,在工业过程控制构。中得到了广泛的应用。OMRONPLCC200HS配有RS@起始符号;-232C连接器,可以通过通信程序直接与上位机通节点号指定与上位机通信的PLC;信。识别码设置2字符的命令码;正文命令参数;2通信过程F
4、CS设置两字符的帧检查顺序码;2.1帧传送和接受终止符设置!*∀和回车(CHR$(13)),两个字符表明命令结束。例如命令帧@00RR00010002(不包括FCS和终止符)表示上位机要求读出节点为00的PLC中起始地址为0001的两个IR/SR区的内容,响应帧为@00RR00123443AB(不包括FCS和终止符),标题码RR之后的00为响应码,1234H和43ABH分别是PLC给出的IR/SR区中的数据。图2命令帧格式图3响应帧格式图1通信过程收稿日期:19990712作者简介:宋海生(1960-),男,副教授。6
5、8计算机应用2000年2.3帧校验序列码FCS的计算//其它消息FCS是为提高通信的可靠性设置的。将每一命caseWMTIMER:if(wParam==TimerID1)//定时器1发讯令帧中的第一个字符到该帧中正文的最后一个字符{作!异或∀运算,并将异或的结果转换为两个ASCIIif(nComID2>=0)码,以此为该命令帧的FCS。接收端计算出收到的TranCommand(Command)//Command为不包括FCS和终止符的命令帧帧的FCS,如果与发送端传送的FCS不同,可以判断else通信有误。FCS的计算见源程序清单
6、中的TranMessageBox(hwnd,"不能打开串行口COM2","Command()函数。警告",MBOK);2.4PLC通信接口初始化及通信协议if(nStatus>=0)nReadChars=ReadComm(nComID2,Buf,128);PLC是通过对数据存贮器DM区某些单元的设//Buf为所接收到的响应帧置实现串行通信接口的初始化的,选择上位机链接}通信方式。可选择通信协议为:9600波特,1个起始return0;}位,7个数据位,1个停止位,偶校验。选上位机的串行口COM2作为与PLC的通信端口。COMSTATComS
7、tat;WORDwComError;3应用程序MSGmsg;charcBuf[1024];#includevoidTranCommand(char*String)#include{#includeintnReadChars,COMMYN,Ti;#includeintj=0,i,k;#includecharchar1=0;#includewhile(String[j]!=# #)#defineTimerID1271{static
8、intnComID2=-1;char1=char1^String[j];staticHWNDhwnd;//窗口句柄j++;charCommand[1024],Buf