浔之漫智控技术(上海)有限公司
主营产品或服务:西门子PLC , 西门子变频器 , 西门子数控系统
安徽西门子(供货)商

安徽西门子供货商

安徽西门子供货商

远程PLC的选型

该系统选用西门子S7—200 PLC,在西门子PLC中SIMATIC S7—200是一个系列,其中包括多种型号的CPU,这里选用CPU-222,由于CPU不提供模拟量的输入输出,为检测对模拟量数据的远程读写。因此在远程PLC系统中扩展一型号为EM-235的4输入1输出模拟量模块。

 系统软件设计

 系统上位计算机人机界面

系统上位的人机界面是用VB编程,提供人机交互操作界面及数据选择和相应的数据处理等功能。系统上位的操作界面如图4所示。在操作界面的左上部是通讯链接控制框,这里只需要正确选择PC的串口并输入远程PLC所连接的电话号码后即可拨号链接,远程的无线GSM MODEM模块摘机响应一般设置为铃响后自动摘机,通讯链接建立后,当上位PC检测到串口端的数据载波DCD信号后,通讯链接控制框中的“链接状态”指示灯由红变绿,表示通讯链路已成功建立。拨号或挂机的操作均是通过对GSM MODEM模块发送AT指令执行的。

对PLC数据的读写操作如操作界面的右上部所示,在相应文本框内填写好数据的类型、地址、数值和操作方式后点击“发送”即可执行对PLC的读或写操作。界面的下半部分显示的是PC串口发送和接收的代码以及当前操作的结果。

3.2 系统上位计算机的串口设置

在上位PC的人机界面中,串口的设置是通过下拉选择框选择出所连接的串口后由程序自动读取。在使用GSM MODEM无线模块时,上位PC对远程PLC链接呼叫时采用的是AT指令。程序语句为:MSComm1.Output=“ATDT”&Trim (Text1.Text)& vbCrLf//Text1文本框内为欲连接的电话号码。挂机的AT指令为:MSComml.Output=“ATDT”&“+++”& vbCrLf。串口数据格式的设定语句为:MSComml.SetTIngs=“9600.  N,8.1”,与TC35iGSM MODEM无线通讯模块和远程PLC自由口的串行数据通讯格式一致。

3.3 】‘’为数据结束特征字。串口数据的传输除数据地址字节和数据数值字节用ASCII码表示外,其他均以十六进制方式表示。因而在上位PC的编程中需涉及大量的进制转换操作。特别要注意的是由于PLC中的实数采用32位单精度数表示,并按照ANSI/IEEE745 1985标准格式以双字长度来存取,所以无论是上位的PC或是下位的PLC在编程时对实数数据的处理均需严格遵循ANSI/IEEE7451985标准格式的规定,否则将不可能读到正确的数据。

     通讯数据的校验方式采用BCC块进行XOR校验,即约定为从每次数据包的Byte2到Bytel6的字节进行校验,Bvtel7存放校验结果。上位或下位在接收数据时,手选对所接收的数据进行校验并将计算结果与Bvtel7所存放的数值进行比较,如不一致时则按约定要求重发,以保障每次传输数据的正确性。

3.4 远程PLC自由口通讯初始化编程

由于远程PLC采用的是自由口用户通讯协议,所以对PLC的自由口通讯必须做如下初始化设置:

远程PLC经上述设置后,在其运行期间每当接收到一组数据后便自动产生中断请求,在中断服务的子程序中,设定一标志位(如MO.0)置位,用来表示允许进入中断服务,在主程序中通过检测M0.O的状态来确定是否转入读数据操作的子程序,读数据操作完毕后及时将接收数据标志M0.0复位,从而完成一次读数据过程。PLC数据的上传则是根据所读数据的内容来响应上位的请求,上传数据的编码和字节均依照约定的格式写入,每次的读写操作仅在PLC一个扫描周期内(数毫秒)完成,系统的响应是实时的。


发布时间:2024-11-23
展开全文
拨打电话 微信咨询 发送询价