1.最近一直在看MX Component和三菱的PLC通信,用的是ACTUTLTYPE.DLL文件,但是用里面的函数无论如何也读不了32位数据,后面找了厂家要了一份样例才知道的,现在想分享给大家看看,我本人测试了没有问题,不论是有符号的32位数据和无符号的32位数据都可以读!现将原代码展示给有需要的人!
int iRet;
int ISize = 2;
short[] Ipsdata=new short[ISize]; ; //定义16位整型数组
byte[] IpsdataByte=new byte[ISize*2]; //定义Byte型数组
byte[] IpsdataByteTemp;
System.String[] data;
iRet = axActUtlType1.ReadDeviceBlock2("R31052", ISize, out Ipsdata[0]); // 分别读取D10与D11的值存到整形数组内
data = new System.String[ISize];
for (int i = 0; i < ISize; i++)
{
IpsdataByteTemp = BitConverter.GetBytes(Ipsdata[i]); //提取字节存取到IpsdataByteTemp
IpsdataByte[i * 2] = IpsdataByteTemp[0]; //拼接字节
IpsdataByte[i * 2 + 1] = IpsdataByteTemp[1]; //拼接字节
}
textBox2.Text = BitConverter.ToInt32(IpsdataByte, 0).ToString(); //转为双字整数