电工学习网

 找回密码
 立即注册

西门子S7-200smart modbus自由口通讯连载2

2016-11-29 20:51| 编辑:电工学习网| 查看: 9873| 评论: 0|来自: 西门子工业技术论坛

  上文说到发送指令(XMT)型同打乒乓球的发球,球由发球一方遵循比赛规则(通讯协议)发出去。如何检测发球是否按规则来发?是否已经发过了界等一系列问题,用什么方法来判断、界定?这样,就说到了串口调试软件“cktszs”(当然也可以用另一台plc的接收指令来确认,串口调试软件适用于单个PLC做通讯测试用),该软件安装后,插入USB转串口电缆(我这里使用的是深圳力特的那根转换电缆),打开软件,图示:

  设置通讯口为COM3这个是我安装USB转换电缆时选择的端口,这个由黑色圈变红色亮圈,说明通讯口COM3设置正确,根据SMB30参数对应设置通讯参数,图示:

   PPI电缆、USB转换电缆连接与200smart PLC集成的基于RS485端子,启动cpu运行,可以看到cpu向串口调试软件按每一秒/次的频率,发送字符“siemens”,图示:(这个测试程序是【说文1】编辑的)

   看到这个由PLC发送过来的字符信息时,说明PLC程序及通讯电缆连接正常了的。
   再写入一句“ni hao!”(你好)字符,让秒脉冲的上升沿发送“siemens”后,再由下降沿发送“ni hao!”这串字符试试,图示:

  将程序下载到cpu中,看结果,图示:

   在一片模糊的字符中终于仔细地找到了cpu发送过来的字符,见红色小框,图示:

   既然说modbus通讯如同打乒乓球,那再来试试打几个“擦边球”试试球路如何?
   先试把发送数据改为0,即VB0 = 0(VB20 = 0)下载到cpu中,看结果,图示:

   串口调试助手接收区没有了字符,但发送完成中断仍然在工作,参见“状态图标”图示:

说明发送完成中断是在执行的,图示此刻的中断次数已经在510次发送完成中断了。但字符将不做发送任务。
那设置VB0 = 大于7的数字的结果又将如何呢?假设设置为VB0 = 100,(VB20 = 100)图示:

   中间会多出一些莫名其妙的字符或字符串出来,见上图红色框,说明发送指令的发送个数应根据实际的数据个数来确定。这个原因当然有很多,相信大家都能够看的出来问题的所在。
   看来打擦边球是要给裁判处罚、没收发球权的,此路行不通!
总结发送指令XMT:
1)  发送指令TBL管脚最大字符数为255个,这个原因应该是这个管脚的数据类型是byte所规约的,发送指令的个数必须严格按实际个数填写,第一个储存区数据不参与通讯。
2)  字符间的空格位同样占一个字符的储存区。
3)  PROT管脚只能填0或者1是PLC的通讯口地址硬件所决定了的。
4)  通讯前需确定好双方的通讯参数协议内容必须是一致的,电缆连接是可靠的。
5)  如果多个字符轮询发送,需要有字符间的开始和结束标志字符来区分,如空格符。这条仅仅对串口调试软件的显示部分而言,实际应用时因地址区的区分,不存在这个问题。
发送指令XMT在整个通讯程序中的应用相对还是比较简单的,这如同打球,无论发出什么样的类型球,一旦发出去了,就要看接球方的判断和应变能力了。

看过《西门子S7-200smart modbus自由口通讯连载2》的人还看了以下文章:

发表评论

最新评论

  • 电表怎么看度数
  • 插座烧毁原因_插座烧后还可以继续使用吗?
  • 注册电气工程师考试挂靠,到底富了谁?
  • 电工证可以“挂靠“吗
  • 电工证怎么考?如何自考电工证
  • 电工证种类和图片大全
热门资讯

电工学习网 ( )

GMT+8, 2021-12-6 20:45

Powered by © 2011-2021 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部