自由口通信!

主程序:
 Network 1 
 // 传送指令数据结构
 LD     SM0.1
 MOVB   16#55, VB100
 MOVB   16#03, VB101
 MOVB   16#10, VB102
 MOVB   16#68, VB103
 Network 2 //  初始化自由端口:1
 // 
 //  // – 选择9600波特、 选择8个数据位、 选择无校验
 // //接收功能禁止、使用smb88检测数据开始、使用smb89检测数据结束。
 // //设定开始字符AAH
 // //设定结束字符22H
 // //设定最大字节长度25
 LD     SM0.1
 MOVB   16#09, SMB130
 MOVB   16#60, SMB187
 MOVB   16#AA, SMB188
 MOVB   16#22, SMB189
 MOVB   25, SMB194
 Network 3 // 一分钟通讯一次
 // //开始发送vb100后面4位数据
 // //并启用发送完成中断 int_0
 LD     SM0.4
 A      M0.0
 EU
 XMT    VB100, 1
 ATCH   INT0, 26
 ENI
 子程序:
 Network 1 
 // //使能接收位
 // //开始接收数据,存于vb200后22个位
 LD     SM0.0
 S      SM187.7, 1
 RCV    VB200, 1
 Network 2 
 // 收到结束字符,停止接收。
 LD     SM186.5
 EU
 R      SM187.7, 1
 没有接收到任何数据,帮忙看看,那出问题了?
 

最佳答案

1 XMT    VB100, 1   //VB100=16#55,每次发送85个字节数据

 2 ATCH   INT0, 26   //但是你没有列出中断程序

 3 更改如下,你再试试

 INT0:
 LD     SM0.0
 S      SM187.7, 1
 RCV    VB200, 1

 4 以下这段可以不要,因为如果收到结束字符,RCV就结束了,不会和XMT发生冲突,实际上这段并不能停止RCV
 复位SMB187.1后,还需要执行RCV,才能停止RCV.
 LD     SM186.5
 EU
 R      SM187.7, 1

 5 另外这个程序没有考虑从站失电和通讯故障的情况,如果和从站通讯不上,或者通讯有问题,收不到结束字符,
 那么RCV始终不会结束。

 6 参考这个程序:http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=3&a_id=636193&s_id=0&num=21#anch

 

 

提问者对于答案的评价:
3q

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

  • 设备远程监控及管理方案确定

    各位大侠,请教一个方案。一个客户要求,对他们的设备能实现远程的监控以及管理,通过PLC+以太网模块,或者通过PLC+英特网模块,再或者有的触摸屏好像能直接支持远程监控,支持远程管理…

    SIMATIC S7-200 2020年10月31日
  • s7-200的子程序中定时器使用

    大家好,请教问题。 以前一直用step7的,里面的FB很好用,我全部定义的局部变量,包括定时器,主要用做电动机的启动和停止计时。 现在要用200的Micro/w…

    SIMATIC S7-200 2021年7月4日
  • 编码器编程实例

    我用的PLC型号是S7-200的,有个增量型的编码器,脉冲是2048,我控制的是一个转盘,要求只转150°,来回转大概一小时转150°,中间有2个停止点,我有以下问题请教:1、我能…

    SIMATIC S7-200 2020年11月1日
  • S7-200挂2个EM253模块

    S7-200挂2个EM253模块,CPU是224继电器型的,伺服的信号接在EM253模块上,我想问的是,2个EM253配的地址怎么来取分? 如果第一个配了POS1_CTR…

    SIMATIC S7-200 2020年10月31日
  • s7200存储卡问题

    我有一个存储卡,原先用CPU222储存过程序,现在我要用CPU224在这个卡里储存新的程序,或要清除原来的程序,当我点plc>存储卡擦除后,显示“由于PLC正在上载/下载,处…

    SIMATIC S7-200 2021年7月5日
  • S7-200 PLC 定时中断?

    想用S7-200 PLC的定时中断进行编程,那么S7-200 PLC 有几个定时中断呢?分别是什么?最长的定时时间?中断事件号是什么? 最佳答案 1、…

    SIMATIC S7-200 2020年10月31日
  • 采样时间和时基中断

    我在用S7-200做一个控制温湿度的系统,想通过初始化子程序将设定温度,设定湿度,以及采样时间、比例系数、积分时间、微分时间进行设置,并调用中断子程序,在中断子程序中进行PID计算…

    SIMATIC S7-200 2020年11月5日
  • 需要编个五台电机顺序星三星启动,停止反顺序停止的程序,请教大家!

    五台电机M1启动,2分钟后M2启动,2分钟后M3启动,2分钟后M4启动,(前四台都是星三角启动)2分钟后M5直接启动。停止时M5停2分钟后M4停….直到M1停。每台电机…

    2018年12月14日
  • 按下停止或急停系统是否停止

    大家好,请教个问题:我用的是S7-200。程序中有手动、自动程序和子程序,我在手动和自动跳转指令处都加入了运行标志位M0.0。在系统运行中,按下停止或急停按钮后,不论是手动还是自动…

    SIMATIC S7-200 2021年7月5日
  • S7-200逻辑分析,求助

    调试遇到此问题,向专家请教。使用CPU224CN,程序如下:网络1LD   I0.0S   Q0.6, &nb…

    SIMATIC S7-200 2017年11月19日

发表回复

登录后才能评论