上位机使用Model Bus与PLC通信实现连续地址读写
来源:互联网 发布:借贷软件排行 编辑:程序博客网 时间:2024/06/11 15:29
Model Bus通信在工业上比较常用,最近需要开发与西门子PLC的model bus通信,需要读写连续地址,逻辑看起来没有问题,代码调试还没有做
private short[] ReadModelBus(ushort[] channel, int[] IO, out string msg) //可以写入多个IO或WORD
{
msg = "";
if (channel == null)
{
msg = "channel不能为空!";
return null;
}
if (IO != null)
{
if (channel.Length != IO.Length)
{
msg = "channel和IO值不一致!";
return null;
}
}
ushort maxValue = channel.Max();
ushort minValue = channel.Min();
short[] datas = new short[maxValue - minValue];
int result = -1;
bool bResult = tcpip.ReadMultiWordData(minValue, (ushort)(maxValue - minValue), datas, out result); //读出从最小到最大channel的所有的数据
if (!bResult)
{
if (result == -1)
{
msg = "不能连接PLC!";
return null;
}
else if (result != 0)
{
msg = string.Format("Modbus TCP异常码={0:d02}", result);
return null;
}
}
if (IO == null)
{
short[] RET_VALUE = new short[channel.Length];
for (int i = 0; i < channel.Length; i++)
{
RET_VALUE[i] = (short)datas[channel[i] - minValue];
}
return RET_VALUE;
}
else
{
short[] RET_VALUE = new short[channel.Length];
for (int i = 0; i < channel.Length; i++)
{
RET_VALUE[i] = (short)((datas[channel[i] - minValue] >> IO[i]) & 0x0001);
}
return RET_VALUE;
}
}
- 上位机使用Model Bus与PLC通信实现连续地址读写
- 上位机与三菱PLC通信
- 基于FINS协议的OMRON PLC与上位机以太网通信的实现
- OPC 通信预安装软件介绍(西门子PLC与上位机PC之间的通信)
- 倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码
- 基于OPC技术的上位机与PLC之间的通信
- 西门子S7-200PLC上位机通信 计算机 工控
- 基于OPC 技术的上位机与S7-200 系列PLC通讯的实现
- WiFi通信上位机实现
- java实现上位机与下位机串口通信
- MX Component 上位机与三菱PLC通讯
- 使用Processing与Arduino通信,玩转上位机。
- 单片机与上位机通信元件
- LabVIEW上位机与串口通信
- 上位机与打印设备通信模型
- LabVIEW上位机与串口通信
- LabVIEW上位机与串口通信
- LabVIEW上位机与串口通信
- Tarjan缩环的好方法
- java单列模式---双重检校性--举哥
- 调试win系统下部署在tomcat的应用
- HDU 6188 Duizi and Shunzi(贪心+细节)
- Git基本知识与常用命令
- 上位机使用Model Bus与PLC通信实现连续地址读写
- Windows安装nodejs以及设置淘宝镜像
- 58到家数据库30条军规解读
- 【每天积累一点点】Data Binding Library官方教程翻译
- Unity插入视频音频
- Echart动态获取数据库数据使用心得
- AI Index
- input readonly属性,去掉焦点
- Java如何获取xml文件中子节点的属性