s7-200自由通讯时发送接收数据问题

我现在通过串口助手与s7-200进行自由口通讯 设置了起始位 数据位 结束位。
plc中初始化时已经设定了:如下
LD     SM0.0                       // 该位始终为1
MOVB   9, SMB30                    // 9600 bit/s,8位数据,无校验,1位停止位
MOVB   16#15, SMB88                // 允许接收,检测起始字符和结束字符,超时检测
MOVB   16#EC, SMB87                // 送报文起始字符0
MOVB   16#FF, SMB89                // 送报文结束字符十六进制数16#FF
MOVW   +1000, SMW92                // 接收超时时间为1s
MOVB   100, SMB94                  // 接收的最大字符数为100
ATCH   INT_0:INT0, 23              // 接收完成事件连接到中断程序0
ATCH   INT_1:INT1, 9               // 发送完成事件连接到中断程序1
ENI                                // 允许用户中断
RCV    VB100, 0                    // 端口0的接收缓冲区指针指向VB100
,通过接收中断,来控制输出点:程序如下
Network 1 
LD     SM0.0
MOVB   VB102, MB6
Network 2 
LD     M6.0
=      Q0.0
Network 3 
LD     M6.1
=      Q0.1
Network 4 
LD     M6.2
=      Q0.2
Network 5 
LD     M6.3
=      Q0.3
Network 6 
LD     M6.4
=      Q0.4
Network 7 
LD     M6.5
=      Q0.5
Network 8 
LD     M6.6
=      Q0.6
Network 9 
LD     M6.7
=      Q0.7
Network 10 
LD     M6.0                        // 如果校验正确
MOVB   5, SMB34                    // 复位校验错误指示位
ATCH   INT2, 10                    // 定时5ms以提供PPI电缆接收/发送模式切换时间
CRETI                              // 起动定时中断
                                   // 中断返回
                                   // 如果有校验错误
                                   // 将校验错误指示位置1
得到结果:
VB100接收的字节数3个 VB101起始字符16#15 VB102(数据这边有问题)VB103结束字符  16#FF
,问题 为什么单单VB102中的数据有问题,测试的结果与输出的Q0.x对应不上,很混乱
比如我数据发1500FF就出现VB102中的输出全为1,输入其他数据也是。这是为什么,我想要达到的效果是 00 全部不得电,01 Q0.1得电 ,输入02 Q0.2得电 等等 。求帮忙,是不是我哪边考虑错误了 ,新手 还多多帮助,谢谢。

最佳答案

如果你想通过电脑中的串口调试助手来控制PLC200的I/O口,不需要写通信程序,只需在串口调试助手中设置参数,如波特率、奇偶校验位、停止位、数据位等等就可以与PLC通信,通信电缆必须用RS232转RS485.
如果你有外设想同PLC200通信,这就要写通信程序,一般地来说,1.外设与PLC通信时外设都有发送字符的条件,你的程序看不到; 你的接受字符码是NAK,16#FF转换为字符码是什么呢?怎查不到?
2.字符接受完成后还需要发送字符,这样才能循环地发送接受字符,你程序中少了这部分。

提问者对于答案的评价:
1

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc190834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月3日
下一篇 2017年8月3日

相关推荐

  • 200modbus 库文件

    200modbus V1.2库文件,目前我有V1.1版本的,求V1.2下载链接,或者发给我,59270150qq.com.V1,1与V1.2有什么区别? 最佳答案 1、S…

    SIMATIC S7-200 2020年10月31日
  • S7-200 模拟量输出的问题 请指教

    我现在用CPU224XP 加EM232 AQ2模块,控制两个伺服电机,一个是速度控制,一个是转矩控制,我遇到的问题是,连两个电机不能同时运行,用万用表量,输出这…

    SIMATIC S7-200 2018年3月6日
  • 一个串口设备,波特率28800,求通讯方法!!

    直接用PLC行吗?OPC呢?软件? 钻石用户推荐最佳答案 通讯常见问题(通信协议与资源、通信端口与连接方式、工业以太网连接器、RS-485网络连接器)http://www.ad.s…

    SIMATIC S7-200 2021年7月5日
  • 关于正负跳变指令的问题

    各位前辈, 请帮我详细解释一下正负跳变指令P,N. 为什么联机监控的时候, 指令上方的数值是什么意思?? 急切等待着你们的回复!!&nbsp…

    SIMATIC S7-200 2021年7月5日
  • 频率控制

    cpu224xp我想通过频率来控制时间继电器的快慢怎么弄,谁指点下 最佳答案 时间继电器的时基是固定的,还不如用PLC里的计数器来做,可用频率来控制计数器的计数频率! 提问者对于答…

    SIMATIC S7-200 2021年7月4日
  • 如何配置这个网络

    有两套独立的S7 200系统,CPU226+TP170.现在需要用一台CPU313C-2DP将他们连接起来,并加上一台工控机监控两台S7200系统。226与TP170的通…

    SIMATIC S7-200 2021年7月5日
  • S7-200安装电磁干扰问题

    在一块安装板上,一面安装一个200PLC系统,请问是否可以在另一面安装断路器,通过三相380V交流电,电流在2A左右,是否对PLC存在干扰问题,谢谢 最佳答案 在这里交流一下:几种…

    SIMATIC S7-200 2020年11月1日
  • S7-200,cpu222作为PPI通讯主站,无法下载程序了。

    S7-200,cpu222作为PPI通讯主站,下载程序后接收数据。但当第二次想要下载程序时,却不能下载。是因为cpu只有一个PORT口,默认的是正在接收数据而无法再与电脑通讯了吗?…

    SIMATIC S7-200 2017年12月21日
  • S71200与和利时DCS走以太网通信?怎么做?求指导,求资料。谢谢。

    1. 两套1200和和利时DCS走以太网通信,不知道怎么做,求指导,谢谢。2.用测试软件连以太网总线中的1200PLC,2台只能分别连通,同时读2台里面的数据不通,求指导…

    SIMATIC S7-200 2021年7月5日
  • S7-200电源分配问题

    如何进行S7-200的电源需求与计算? 最佳答案 S7-200CPU模块提供5VDC和24VDC电源: 当有扩展模块时CPU通过I/O总线为其提供5V电源,所有扩展模块的…

    SIMATIC S7-200 2020年11月5日