西门子电源模块中国一级供货商-浔之漫智控技术
西门子电源模块中国一级供货商-浔之漫智控技术
西门子电源模块中国一级供货商-浔之漫智控技术
通讯数据的校验方式采用BCC块进行XOR校验,即约定为从每次数据包的Byte2到Bytel6的字节进行校验,Bvtel7存放校验结果。上位或下位在接收数据时,手选对所接收的数据进行校验并将计算结果与Bvtel7所存放的数值进行比较,如不一致时则按约定要求重发,以保障每次传输数据的正确性。
3.4 远程PLC自由口通讯初始化编程
由于远程PLC采用的是自由口用户通讯协议,所以对PLC的自由口通讯必须做如下初始化设置:
远程PLC经上述设置后,在其运行期间每当接收到一组数据后便自动产生中断请求,在中断服务的子程序中,设定一标志位(如MO.0)置位,用来表示允许进入中断服务,在主程序中通过检测M0.O的状态来确定是否转入读数据操作的子程序,读数据操作完毕后及时将接收数据标志M0.0复位,从而完成一次读数据过程。PLC数据的上传则是根据所读数据的内容来响应上位的请求,上传数据的编码和字节均依照约定的格式写入,每次的读写操作仅在PLC一个扫描周期内(数毫秒)完成,系统的响应是实时的。
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。