求助:自由口通讯编程(热表)

已锁定

cxy0530

  • 帖子

    19
  • 精华

    0
  • 被关注

    1

论坛等级:新手

注册时间:2012-07-19

普通 普通 如何晋级?

求助:自由口通讯编程(热表)

2467

22

2012-07-19 14:30:51

求实现自由口通讯的程序
详细描述: 我现在用的是恩格曼的热表,进过M-bus转换成了485方式。PLC为224XP-CN,自由接口定义为0口。硬件接线为3正8负,接0口。通讯线:电脑端是USB,PPI-485。
恩格曼热表协议为:9600波特率,8位数据,N,1.
发送指令:10 5B FE 59 16 正常应该接受到103个字节的报文。我用串口工具做了测试。
自己过去没用过自由口,看了一些XMT和RCV的说明,弄了一天也没做出测试。另外对数据块这个模块还是不了解。请各位大侠帮帮忙,给写个这方面的程序(最好是梯形图)。
自己按照参考文献的资料,写的主程序:
LD SM0.1 //在第一个扫描周期
MOVB 16#09, SMB30 //初始化自由口 9600波特率、8为数据位、无校验
MOVB 16#0A, SMB87 //初始化RCV,RCV使能,检测信息结束字符,检测空闲线信息条件
MOVB 16#16, SMB89 //设定信息结束字符为16#16(报文结束)
MOVW 10, SMW90 //设置空闲线超市为10ms
MOVB 150, SMB94 //设置最大字符数为150
ATCH INT_0:INT0, 23 //连接中断0到接收结束事件
ATCH INT_2:INT1, 9 //连接中断2到发送结束事件
ENI //允许用户中断
RCV VB100, 0 //执行接收指令,接收缓冲区指向VB100
MOVB 16#10, SMB88 //设定起始字符为10
网络1 中断0
LDB= SMB86, 16#20 如果接收状态显示收到结束字符,连接定时器触发发送 然后返回。
MOVB 10, SMB34
ATCH INT_1:INT2, 10
CRETI
NOT 如果其他原因接收完成,启动一个新的接收
RCV VB100, 0
网络1 中断1
LD SM0.0 10ms定时器中断,断开定时器中断,在端口0向用户回送信息
DTCH 10
XMT VB100, 0
网络1 中断2 发送完成中断,允许另外一个接收
LD SM0.0
RCV VB100, 0
数据块:VB100 103
VB203 16#16
VB204 16#0A
我不知道这些参数设置的对不对,请多指教!自己写的程序,见附件。 邮箱:cxy0530@126.com多谢!
求助:自由口通讯编程(热表) 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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