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


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

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


因为我这边是从机,所以我要写一份通信协议,让客户的上位机根据他的需求来写/读操作,如写开机、关机 信号,读报警信息。
有哪位大哥大姐做过相应的程序呀,能帮帮忙吗,谢谢了!!
wangk0
人都有点过去~
级别: 工控侠客
精华主题: 0
发帖数量: 82 个
工控威望: 2155 点
下载积分: 3866 分
在线时间: 64(小时)
注册时间: 2012-05-17
最后登录: 2024-04-11
查看wangk0的 主题 / 回贴
1楼  发表于: 2013-07-02 02:12
虽然没搞过,但我觉得用中断写会方便很多。接收到信息后中断,把接收到的信息存到D里,通过比较D来判断执行哪一路程序。