雨天神
级别: 探索解密
精华主题: 0
发帖数量: 35 个
工控威望: 159 点
下载积分: 392 分
在线时间: 56(小时)
注册时间: 2011-11-29
最后登录: 2024-11-30
查看雨天神的 主题 / 回贴
楼主  发表于: 2013-07-01 22:27
大家好,小弟最近在做一工程,客户那边要求485方式通信,所以我选用了QJ71C24N 这个模块。第一次用这个模块,不会用,所以在此向大家请教一下如何做通信程序?
1.我这边是从机,客户那边发命令到我的PLC中,比如客户那边发开机的命令,如果我这边的机器没有问题,就返回一个数据,如果我的设备上有故障,就返回故障信息。
2.因为我这边是从机,是不是只能是客户那边有发数据,我这边才能返回数据?


我说一下 我的思路:
1.下行通信帧:帧头 站号 命令 数据 校验 帧尾
2.上行通信帧:帧头 站号 命令 数据 校验 帧尾

当我用INPUT 指令接数到下行的数据时,是不是先判断站号,然后再把接收到的数据求出校验,如果校验码与发下来的一样,那么我就把相应的数据返回给上位机,不
知我的思路对吗?


因为我这边是从机,所以我要写一份通信协议,让客户的上位机根据他的需求来写/读操作,如写开机、关机 信号,读报警信息。
有哪位大哥大姐做过相应的程序呀,能帮帮忙吗,谢谢了!!
雨天神
级别: 探索解密
精华主题: 0
发帖数量: 35 个
工控威望: 159 点
下载积分: 392 分
在线时间: 56(小时)
注册时间: 2011-11-29
最后登录: 2024-11-30
查看雨天神的 主题 / 回贴
1楼  发表于: 2013-07-02 08:29
我也想用中断,但是QJ71C24N 这个模块,有接收读取请求的信号,当这个信号为ON时,就可以接收上位机发来的数据,转移动D区里,然后就先判断站号,如果是对的,再判断命
令,如果是对的,然后再算校验码,校验码相等时,就从D里提取数据,同时返回相应的数据给上位机。

不知我的想法可行吗,因为以前我看到过有些单片机通信程序是这样做的,而在PLC里,写从站的协议是否也可以这样做,或者有更好的方法?
雨天神
级别: 探索解密
精华主题: 0
发帖数量: 35 个
工控威望: 159 点
下载积分: 392 分
在线时间: 56(小时)
注册时间: 2011-11-29
最后登录: 2024-11-30
查看雨天神的 主题 / 回贴
2楼  发表于: 2013-07-02 22:33
没有回复,自己顶