有关对发送指令XMT的疑问

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    9105
  • 精华

    157
  • 被关注

    1471

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

有关对发送指令XMT的疑问

514

3

2016-12-03 09:26:27

                                      有关对发送指令XMT的疑问

今天下午看到“找答案”里有一个网友提问,大致的问题是用“串口调试软件”检测发送指令XMT与串口调试软件连接后接收到字符数据的结果与发送的数据不符。

由于网友的程序是采用西门子200编写的,我这里因为没有实际的200 PLC测试,我用200samrt PLC替代,并用prot0口来验证。

网友程序:



我当时回答是发送指令应该使用沿触发或者在中断子程序里调用,后来从他上传了图片就是我模拟了上面的程序(稍有修改通讯地址,网友是使用prot1口)。于是,打开电脑开始仿真网友的程序(因那个程序比较简单也就记住了),一试,程序执行是正常的,见图示:



   根据我自己仿真的效果,分析网友可能的原因:

1)  通讯连接“干扰”。但凡串口调试软件通讯电缆相对都比较短,这个“干扰”原因应该是连接错误引起,或者USB转换电缆与PPI电缆及PLC端口接触性不良造成。

重新翻出串口通讯协议关于端口电平的定义,见图示:



PPI多主站电缆连接端子定义应该是见图示:



再看3BF21电缆端口定义,见图示:



及200基于RS485通讯口管脚定义,见图示:



   那正确应该是3—3;8—8的连接,当然连接5是公共参考地没有问题,其它方式的连接均是错误的连接。由于可能是错误的连接,串口调试软件无法接收到真实的电平信号,故、接收端串口调试软件所接收的字符出现所谓的“乱码”也变的正常了。

2)没有定义SMB94数据总数值,虽然我在模拟网友的程序中也没有加入这个设置,结果仍然能够正常显示,但这个设置值是自由口通讯编写填写的内容。

3)其次,如果发送指令不采用沿触发,则每一个扫描周期均发送一次数据。另外,发送指令后面加一个线圈也不理解。这个线圈如果是继电器输出型PLC,也将无法正常动作,每个周期切换的速度对于继电器输出执行起来实在是太快了,这里的线圈没有实际意义。

   上述2)、3)点与数据出错没有直接的联系。

   串口通讯所谓的高电平是+2 ~ +6V,低电平是-2 ~ -6V范围,超出这些范围的电平,发送或者接收数据都将可能产生错误的数据。

4)数据出错可能的原因,网友设置的通讯参数SMB130与串口调试软件设置的通讯参数不一致。如停止位个数、错误的选择了校验方式、数据位个数等。

    上述仅仅是一种分析,所谓解铃还需系铃人,正确的答案还是需哪位网友自己来回答。


有关对发送指令XMT的疑问 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。