SIEMENS江苏省昆山市西门子中国授权代理商-西门子变频器-西门子技术服务-西门子PLC模块

变频器: 西门子代理商
触摸屏: 西门子一级代理
伺服电机: 西门子一级总代理
单价: 面议
发货期限: 自买家付款之日起 天内发货
所在地: 广东 惠州
有效期至: 长期有效
发布时间: 2023-12-14 12:41
最后更新: 2023-12-14 12:41
浏览次数: 85
发布企业资料
详细说明

在上位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 通讯数据格式的约定

由于远程PLC采用的是自由口用户通讯方式,这里对每次收发数据字节暂约定为18个字节,数据字节的多少可根据实际需要而酌情约定。本系统中18个字节的约定:Bybbb为数据的总字节数;Bvte2为数据开始特征字;Bvte3为数据读或写特征字:Byte4为数据类型特征字;Bvte5~Byte8为PLC数据地址;Bvte9~Bybbb6为PLC数据的数值;Bybbb7为收发数据的校验码;Bvbbb8为数据结束特征字。串口数据的传输除数据地址字节和数据数值字节用ASCII码表示外,其他均以十六进制方式表示。因而在上位PC的编程中需涉及大量的进制转换操作。特别要注意的是由于PLC中的实数采用32位单精度数表示,并按照ANSI/IEEE745 1985标准格式以双字长度来存取,所以无论是上位的PC或是下位的PLC在编程时对实数数据的处理均需严格遵循ANSI/IEEE7451985标准格式的规定,否则将不可能读到正确的数据。

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

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

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

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

3.5 远程PLC数据的读写操作

PLC数据的读写是依据约定的数据类型实施操作的。对于字节、字、双字、实数及I/0端口各自有约定的数据类型特征字,在下位PLC程序中通过对数据类型特征字的解析后来确定读取数据的字节数。对I/0端口的读写操作则是根据约定的地址编码直接读写出相应的状态信息。每组收发数据的存储单元从VBl00到VBll7共18个字节。由前述的数据发送量的约定可知,每组数据的Byte5~Byte8表示PLC数据的地址,由于每次读写的地址是不同的,所以Byte5~Byte8字节给定的就是地址指针,在PLC编程中就要以此指针采用间接寻址的方式,假设Byte5~Byte8存放在PLC的VB104~VBl07单元,其间址指令则为:

MOVD &VBl04,ACl读取该地址内容时则根据数据类型的不同而有所区别,假如读写字节时指令为:MOVB*ACl,VBl60;则读写字的指令为:MOVW *ACl,VWl60;读写双字的指令为:MOVD *ACl,VDl60;读写实数的指令则为:MOVR *ACl,VDl60。

4 结束语

本系统经实际测试基本达到了预期效果。远程PLC在省际间距离的测控响应与在本市区地域的测控响应基本相同,通过对PLC I/O的读写、模拟量数据的读写、单字节、双字节及实数的读写,均未出现数据差错现象,远程的响应速度基本上是对上位的指令立即响应,操作人基本感觉不出时间的延时。在PLC中,由于本远程测控程序字节量较少,可以嵌入在PLC的过程控制程序中运行,由于在自由口通讯中,

对上位PC读写的响应采用的是中断方式快速响应,所以对PLC的过程控制程序的实时性基本无影响

在上一次发表的

1、 配置OPC服务器
  对于服务器的配置与同步通讯的配置一样,这里不需再讲解,若有不清楚的,可以参阅之前发布的

2、 OPC编程
  变量组、项的命名规则与同步通讯的一样,这里不再描叙,下面主要就开发一个异步通讯类 AsynServer来讲解如何编程。MD0由字节MB0~MB3组成,MB0为最高字节,MB3为字节。这个顺序可能和别的PLC或计算机的编程语言的规定刚好相反!
     在MB0中,M0.7最高位,接着为M0.6……M0.0位。MD0中各位的排列顺序如下,M0.7为最高位,M3.0为位。
M0.7、0.6、0.5、0.4、0.3、0.2、0.1、0.0,M1.7、1.6、1.5、1.4、1.3、1.2、1.1、1.0
M2.7、2.6、2.5、2.4、2.3、2.2、2.1、2.0,M3.7、3.6、3.5、3.4、3.3、3.2、3.1、3.0
    

     用变量表监控MD0,可以验证此结论,显示格式中HEX是十六进制,BIN为二进制。


相关江苏省昆山产品
相关江苏省昆山产品
相关产品