RSLinx与C#通信错误
来源:互联网 发布:mac谷歌浏览器安装 编辑:程序博客网 时间:2024/04/26 07:44
最近做的项目中,需要用到C#所编写的winform界面与PLC通信的功能。大致的方案是利用RSLinx读取PLC的数据,然后利用AB公司提供的RsiOPCAuto.dll控件,实现winform通过RSLinx对PLC数据的读取。
之前用这套方案,一直是没有问题的。但是这次突然出现了通讯失败的问题。RSLinx端的报错如下:
error: 10h
desc:remote: bad command
Invalid command message received by remote module.
通过观察,可以发现问题出现在对N7数据集的读取上。于是,我注释掉了一部分N7读取的代码,通讯果然恢复了正常。
通过不断缩小问题范围,发现在尝试读取N7:150左右的数据时,发生了报错。推测可能是因为优化通讯后,读取地址的范围太大了,从上图可以看出,从N7:14一直到N7:153。照理来说,这时只要把需要跟上位机通讯的PLC的地址改到低地址位就可以了。但是因为PLC的程序并不是我编写的,而且现行的PLC程序已经在工程现场应用起来了,不适合更改,于是只能继续在我这边找解决方案。
找了一大圈,最终发现更新RSLinx版本可以解决这个问题。
原RSLinx版本:2.54
RsiOPCAuto.dll版本:2.10.00.116
更新后RSLinx版本:2.59
RsiOPCAuto.dll版本:2.10.00.117
至此,问题基本解决。
需要注意的是,在2.55版以后,RSLinx便不再提供RsiOPCAuto.dll控件。所以,在之后的版本中,如果需要使用该控件的话,需要自己进行注册。
- RSLinx与C#通信错误
- C# OPC客户端远程连接RSLinx OPC服务器
- #java与c#通信
- C# 与Flash 通信
- Flash与C#通信
- C#与C++通信
- Flex与java通信错误
- javascript与c#变量通信
- flex与C# Socket通信
- flex与C# Socket通信
- C#与USB设备通信
- PHP与C# Socket通信
- RSLinx调试心得
- C# Socket通信的服务器与客户端的通信
- C#中串口与Modem的通信
- C#与网络通信研究(一)
- C#与Flash通信的服务端程序
- C#与Flash通信的客户端程序
- listview 内部按钮的点击事件
- iOS(CoreGraphics)画带箭头的框
- Java之URLEncoder和URLDecoder类使用小记
- php的正则表达式
- poj 2105
- RSLinx与C#通信错误
- MFC点击按钮,弹出进度条并且自动滚动以及进度条对话框背景色、按钮颜色设置
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- 代码中设置控件的centerInParent
- javascript设计模式之二——策略模式
- linux 添加用户到组
- Android集成极光推送
- Android 代码混淆
- LeetCode 234. Palindrome Linked List