我好像是
大波就是我
级别: 家园常客
精华主题: 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单片机高仿三菱的工控板子。说明这个是可以写出来的嘛。
请各位大神提供一个思路,成功的,我发微信红包哈。上位机发送接收格式内容没有办法修改哎。这是死的。
weijishanggu
289019538@qq.com
级别: 家园常客
精华主题: 0
发帖数量: 51 个
工控威望: 889 点
下载积分: 612 分
在线时间: 79(小时)
注册时间: 2014-05-04
最后登录: 2024-01-10
查看weijishanggu的 主题 / 回贴
1楼  发表于: 2017-09-18 19:39
你用的什么品牌的PLC?上位机的软件如果不是很复杂可以重做个,可以走自由协议通讯,发送不同的指令接受的字符放到不同的寄存器可以定义的,还有什么不清楚加我联系方式。
WEIXIN:13914094585
weijishanggu
289019538@qq.com
级别: 家园常客
精华主题: 0
发帖数量: 51 个
工控威望: 889 点
下载积分: 612 分
在线时间: 79(小时)
注册时间: 2014-05-04
最后登录: 2024-01-10
查看weijishanggu的 主题 / 回贴
2楼  发表于: 2017-09-18 20:03
可以的接受寄存器是不停刷新的,保存的都是最近接受的值,之前的会被覆盖掉。
WEIXIN:13914094585
weijishanggu
289019538@qq.com
级别: 家园常客
精华主题: 0
发帖数量: 51 个
工控威望: 889 点
下载积分: 612 分
在线时间: 79(小时)
注册时间: 2014-05-04
最后登录: 2024-01-10
查看weijishanggu的 主题 / 回贴
3楼  发表于: 2017-09-18 20:40
引用
引用第4楼我好像是于2017-09-18 20:15发表的  :

难点在于,上下位机发送接收都是四组十六进制数据(前面两位数据相同),而且上下位机都在不停发送接收数据。
兄弟有没有弄过这样的程序?我对三菱PLC逻辑编程伺服控制啥都还可以,就是这个非标准通讯没用过,完全不知道啥思路。

你可以看看三菱的编程指令,那有详细的说明,告诉你要发送的数据放哪接受的数据放哪,工控机,PLC,通讯板啥的都搞过,都这样
WEIXIN:13914094585