我好像是
大波就是我
级别: 家园常客
精华主题: 0
发帖数量: 303 个
工控威望: 603 点
下载积分: 1392 分
在线时间: 490(小时)
注册时间: 2012-12-09
最后登录: 2024-04-12
查看我好像是的 主题 / 回贴
楼主  发表于: 2017-09-18 18:02
现在是这样。有一台上位机。程序是死的,我没有办法修改。上位机通过rs232接口跟下位机(PLC)通讯。
1:PLC发送给上位机的格式跟内容:PLC发送数据 03 13 02 SD 给上位机,  意思是让上位机进行某一个操作  然后上位机返回03 13 01E5  说明操作成功(操作很多,这只是举例子)
2:上位机发送给PLC的格式跟内容:上位机发送数据 03 13 02 GD   意思是让下位机(PLC)进行某一个操作  然后上位机返回03 13 01E8  说明操作成功.(操作很多,这只是举例子)

3:上位机不停发送固定数据给下位机PLC 88 88 88 88,  频率是每秒一次。(作用是判断上位机是否死机)
4:下位机不停发送固定数据给上位机 66 66 66 66,  频率是每秒一次。(作用是判断下位机是否死机)



问题:请问一下这个应该用什么PLC?走自由口通讯协议?可是PLC跟上位机一直在不停发送跟接收数据哎。接收跟发送都是4组十六进制数据。要是有协议的话我还是知道怎么写,不同数据发送给不同寄存器嘛。
可现在没办法指定某一个寄存器哎,都是一股老的发送,接收。发送跟接收就这么四组数据,没有指定寄存器哎。


有成功例子,人家下位机是用STC C52单片机高仿三菱的工控板子。说明这个是可以写出来的嘛。
请各位大神提供一个思路,成功的,我发微信红包哈。上位机发送接收格式内容没有办法修改哎。这是死的。
戆狮
广州三能:自动化设备制造 自动化培训
级别: 略有小成
精华主题: 0
发帖数量: 367 个
工控威望: 486 点
下载积分: 1462 分
在线时间: 592(小时)
注册时间: 2010-08-06
最后登录: 2024-03-07
查看戆狮的 主题 / 回贴
1楼  发表于: 2017-09-19 12:14
用三菱FX232全双工。
接收到动作命令就回应动作
没有接收到动作命令就定时发送死机信号
发送动作命令时等待回应信息,收到动作回应信息发送死机信号

不用管写到哪个寄存器,写到寄存器就是专用协议了。用监控缓存区方式发送和判断接收信息。

FX232参数以自由口设定,接收完成信号置位后,缓存区应该可以得到接收的数据,再转移出来作判断

顾虑一点就是怕PLC操作速度不够电脑快而出现通讯失败。单片机做肯定是比PLC快的
广州夏谱  工控专家 林生 13602663187 专业自动化设备开发,全实操自动化培训