Schneider-施耐德LEC使用技巧文集[第3讲]——Twido PLC做为ASCII从站设备的通讯方法-PLC技术网(www.plcjs.com)-可编程控制器技术门户


Schneider-施耐德LEC使用技巧文集[第3讲]——Twido PLC做为ASCII从站设备的通讯方法

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2005-10-25 22:17:21     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.
  Twido PLC提供有ASCII协议,这样在理论上能使得Twido和其他任何支持串行通讯的设备建立通讯。在多数应用中,都是由PLC发出ASCII命令给其他设备,等待响应回复。但如果命令是由其他设备发给PLC,PLC时刻处于接收命令的情况下时,如何实现通讯呢?本文以Twido 和一种专用的“匀整”控制器(其协议格式类似于伦茨的通讯协议)的通讯为例进行描述。
  1.设定端口2的参数:
  


  


  点击高级按钮,在高级设置对话框设定如右:用100ms来作为一次通讯的间隔时间检测;因为在本例中,“匀整”发给PLC的命令结尾是不同的BCC校验码,所以我们无法用某个固定的结束字符来判断一个通讯帧。
  2.程序实现:
  



  说明:Twido运行后,等待接收命令;当接收到命令后,根据命令格式区分出是哪一类命令,并转入相应的子程序处理(子程序主要是数据格转换的处理,即把ASCII串表达的数据变为10进制的数值或把10进制的数值变为ASCII串表达的数据,并决定要回送的命令格式,最终由EXCH %MW400:10 指令发送给匀整),具体的子程序处理,可以参见源程序。
  
  附:通讯协议
  一、格式:
   按照LENZN的协议进行通讯
   1、发送命令
   2、接受命令
  二、功能设定:
  1.“匀整”询问PLC参数设定值
  
  (C11)--表示询问棉层调节系数(标准值60)
   格式:EOT,31H,31H,31H,31H,ENQ
   EOT,A1, A2, C1, C2,ENQ;
  (C12)--表示询问棉层传感器初始值设定。
  格式:EOT,31H,31H,31H,32H,ENQ
   EOT,A1, A2, C1, C2,ENQ;
  (C13)--表示询问给棉电机速度标准值设定。
   格式:EOT,31H,31H,31H,33H,ENQ
   EOT,A1, A2, C1, C2,ENQ;
  (C14)--表示询问棉卷重量标准值设定。
   格式:EOT,31H,31H,31H,34H,ENQ
   EOT,A1, A2, C1, C2,ENQ;
  您收到数据后应首先核对从站地址,然后将C1,C2去掉ASC码。
  再根据C1,C2回答参数值。
  您的回答格式:
   STX,C1,C2,V1,V2,V3,V4,V5,EXT,BCC
   BCC=(((C1 XOR C2)XOR V1)XOR 。。。)XOR EXT
   C1,C2,V1,V2,V3,V4,V5,均含有ASC码
  
  三、显示命令
   匀整向PLC传递以下信息
  (C20)--显示上一个卷的平均厚度;
   格式:EOT,31H,31H,STX,32H,30H,V1,V2,V3,V4,V5,EXT,BCC
   EOT,31H,31H,STX, C1, C2,V1,V2,V3,V4,V5,EXT,BCC
  BCC=(((C1 XOR C2)XOR V1) XOR 。。。)XOR EXT
  代码20的值=(V1-30H)*10000+(V2-30H)*1000+(V3-30H)*100+(V4-30H)
   +(V5-30H)
  C1,C2,V1,V2,V3,V4,V5,均含有ASC码
  在这里V1=30H;
  
  (C21)--每生产一个棉卷,显示出修正后的给棉输出值。
   格式:EOT,31H,31H,STX,32H,31H,V1,V2,V3,V4,V5,EXT,BCC
   EOT,31H,31H,STX, C1, C2,V1,V2,V3,V4,V5,EXT,BCC
  BCC=(((C1 XOR C2)XOR V1) XOR 。。。)XOR EXT
  代码21的值=(V1-30H)*10000+(V2-30H)*1000+(V3-30H)*100+(V4-30H)
   +(V5-30H)
  C1,C2,V1,V2,V3,V4,V5,均含有ASC码
  在这里V1=30H;
  (C22)--显示电子称称盘上的重量。
   格式:EOT,31H,31H,STX,32H,32H,V1,V2,V3,V4,V5,EXT,BCC
   EOT,31H,31H,STX, C1, C2,V1,V2,V3,V4,V5,EXT,BCC
  BCC=(((C1 XOR C2)XOR V1) XOR 。。。)XOR EXT
  代码22的值=(V1-30H)*10000+(V2-30H)*1000+(V3-30H)*100+(V4-30H)
   +(V5-30H)
  C1,C2,V1,V2,V3,V4,V5,均含有ASC码
  在这里V1=30H;
  您回答为ACK或NAK
  (EOT=04H STX=02H EXT=03H ENQ=05H ACK=06H NAK=15H)
上一篇: Schneider-施耐德LEC使用技巧文集[第2讲]——ASCII码转换为HEX和BCD码的方法
下一: PLC之一——什么是PLC?