|
邀请回答
马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
[img][- const int CycleMax = 4;
- private enum SoftElemType
- {
- //H3U
- REGI_H3U_Y = 0x20, //Y元件的定义
- REGI_H3U_X = 0x21, //X元件的定义
- REGI_H3U_S = 0x22, //S元件的定义
- REGI_H3U_M = 0x23, //M元件的定义
- REGI_H3U_TB = 0x24, //T位元件的定义
- REGI_H3U_TW = 0x25, //T字元件的定义
- REGI_H3U_CB = 0x26, //C位元件的定义
- REGI_H3U_CW = 0x27, //C字元件的定义
- REGI_H3U_DW = 0x28, //D字元件的定义
- REGI_H3U_CW2 = 0x29, //C双字元件的定义
- REGI_H3U_SM = 0x2a, //SM
- REGI_H3U_SD = 0x2b, //
- REGI_H3U_R = 0x2c //
- }
- #region //标准库
- [DllImport("StandardModbusApi.dll", EntryPoint = "Init_ETH_String", CallingConvention = CallingConvention.Cdecl)]
- public static extern bool Init_ETH_String(string sIpAddr, int nNetId = 0, int IpPort = 502);
- [DllImport("StandardModbusApi.dll", EntryPoint = "Exit_ETH", CallingConvention = CallingConvention.Cdecl)]
- public static extern bool Exit_ETH(int nNetId = 0);
- /******************************************************************************
- 1.功能描述 : 写H3u软元件
- 2.返 回 值 :1 成功 0 失败
- 3.参 数 : nNetId:网络链接编号
- eType:软元件类型
- REGI_H3U_Y = 0x20, //Y元件的定义
- REGI_H3U_X = 0x21, //X元件的定义
- REGI_H3U_S = 0x22, //S元件的定义
- REGI_H3U_M = 0x23, //M元件的定义
- REGI_H3U_TB = 0x24, //T位元件的定义
- REGI_H3U_TW = 0x25, //T字元件的定义
- REGI_H3U_CB = 0x26, //C位元件的定义
- REGI_H3U_CW = 0x27, //C字元件的定义
- REGI_H3U_DW = 0x28, //D字元件的定义
- REGI_H3U_CW2 = 0x29, //C双字元件的定义
- REGI_H3U_SM = 0x2a, //SM
- REGI_H3U_SD = 0x2b, //SD
- REGI_H3U_R = 0x2c //SD
- nStartAddr:软元件起始地址
- nCount:软元件个数
- pValue:数据缓存区
- 4.注意事项 : 1.x和y元件地址需为8进制; 2. 当元件位C元件双字寄存器时,每个寄存器需占4个字节的数据
- ******************************************************************************/
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Write_Soft_Elem", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Write_Soft_Elem(SoftElemType eType, int nStartAddr, int nCount, byte[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Write_Soft_Elem_Int16", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Write_Soft_Elem_Int16(SoftElemType eType, int nStartAddr, int nCount, short[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Write_Soft_Elem_Int32", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Write_Soft_Elem_Int32(SoftElemType eType, int nStartAddr, int nCount, int[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Write_Soft_Elem_UInt16", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Write_Soft_Elem_UInt16(SoftElemType eType, int nStartAddr, int nCount, ushort[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Write_Soft_Elem_UInt32", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Write_Soft_Elem_UInt32(SoftElemType eType, int nStartAddr, int nCount, uint[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Write_Soft_Elem_Float", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Write_Soft_Elem_Float(SoftElemType eType, int nStartAddr, int nCount, float[] pValue, int nNetId = 0);
- /******************************************************************************
- 1.功能描述 : 读H3u软元件
- 2.返 回 值 :1 成功 0 失败
- 3.参 数 : nNetId:网络链接编号
- eType:软元件类型
- REGI_H3U_Y = 0x20, //Y元件的定义
- REGI_H3U_X = 0x21, //X元件的定义
- REGI_H3U_S = 0x22, //S元件的定义
- REGI_H3U_M = 0x23, //M元件的定义
- REGI_H3U_TB = 0x24, //T位元件的定义
- REGI_H3U_TW = 0x25, //T字元件的定义
- REGI_H3U_CB = 0x26, //C位元件的定义
- REGI_H3U_CW = 0x27, //C字元件的定义
- REGI_H3U_DW = 0x28, //D字元件的定义
- REGI_H3U_CW2 = 0x29, //C双字元件的定义
- REGI_H3U_SM = 0x2a, //SM
- REGI_H3U_SD = 0x2b, //SD
- REGI_H3U_R = 0x2c //SD
- nStartAddr:软元件起始地址
- nCount:软元件个数
- pValue:返回数据缓存区
- 4.注意事项 : 1.x和y元件地址需为8进制;
- 2. 当元件位C元件双字寄存器时,每个寄存器需占4个字节的数据
- 3.如果是读位元件,每个位元件的值存储在一个字节中,pValue数据缓存区字节数必须是8的整数倍
- ******************************************************************************/
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Read_Soft_Elem", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Read_Soft_Elem(SoftElemType eType, int nStartAddr, int nCount, byte[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Read_Soft_Elem_Int16", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Read_Soft_Elem_Int16(SoftElemType eType, int nStartAddr, int nCount, short[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Read_Soft_Elem_Int32", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Read_Soft_Elem_Int32(SoftElemType eType, int nStartAddr, int nCount, int[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Read_Soft_Elem_UInt16", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Read_Soft_Elem_UInt16(SoftElemType eType, int nStartAddr, int nCount, ushort[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Read_Soft_Elem_UInt32", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Read_Soft_Elem_UInt32(SoftElemType eType, int nStartAddr, int nCount, uint[] pValue, int nNetId = 0);
- [DllImport("StandardModbusApi.dll", EntryPoint = "H3u_Read_Soft_Elem_Float", CallingConvention = CallingConvention.Cdecl)]
- private static extern int H3u_Read_Soft_Elem_Float(SoftElemType eType, int nStartAddr, int nCount, float[] pValue, int nNetId = 0);
- #endregion
复制代码 /img] |
上一篇: FX5U带5轴和两轴做插补案例下一篇: 项目管理思维导图
|