西门子通信模块开发
1.西门子TCP通信组件
S7-300/S7-400 以太网 WinTcpS7.dll
S7-1200/S7-1500 以太网 WinTcpS7_1K.dll
S7-200 Smart 以太网 WinTcpS7_Smart.dll
S7-200 CP2 以太网 WinTcpS7_CP2.dll
2.PlcMemory 操作的PLC内存区域类型 枚举值
DI: 输入
DQ: 输出
CIO: 输入输出
MR: 中间继电器M区域
WR: 中间继电器W区域
DR: 中间继电器D区域
DB: DB块数据
ER: 扩展数据E区域
HR: 保持区域H区域
SR: 状态寄存器S区域
TIM: 计时器当前值
CNT: 计数器当前值
3.数据类型枚举值
INT16: 16位有符号整数
UINT16: 16位无符号整数
DINT32: 32位有符号整数
HEX32: 32位16进制字符
REAL32: 32位单精度浮点数据
BIN16: 16位二进制字符串
BCD16: 16位转换为4位BCD字符
BCD32: 32位转换为8位BCD字符
4.PrtType 串口通信校验方式
None:无校验
Odd: 奇校验
Even:偶校验
Mark:特殊校验
5.函数说明
(1)public short Bit_Reset(int Handle, PlcMemory Memory, ushort Block, ushort Address, ushort Bit);
函数功能:以位的方式将指定位复位
参数:
Handle:网络句柄
Memory:访问PLC数据区域的枚举值
Block:DB块的号码,非DB取0
Address:要操作的位所在的字地址
Bit:要操作的位在字地址内的号码
返回值:函数执行结果
(2)public short Bit_Set(int Handle, PlcMemory Memory, ushort Block, ushort Address, ushort Bit);
函数功能:以位的方式将指定位置位
参数:
Handle:网络句柄
Memory:访问PLC数据区域的枚举值
Block:DB块的号码,非DB取0
Address:要操作的位所在的字地址
Bit:要操作的位在字地址内的号码
返回值:函数执行结果
(3)public short Bit_Test(int Handle, PlcMemory Memory, ushort Block, ushort Address, ushort Bit, ref bool State);
函数功能:以位的方式读取该位的状态
参数:
Handle:网络句柄
Memory:访问PLC数据区域的枚举值
Block:DB块的号码,非DB取0
Address:要操作的位所在的字地址
Bit:要操作的位在字地址内的号码
State:读取到的位的状态
返回值:函数执行结果
(4)public short CmdRead(int Handle, PlcMemory Memory, DataType ValType, ushort Block, ushort Address, ushort Count, ref object[] Redata);
函数功能:读取多个PLC内存数据
参数:
Handle:网络句柄
Memory:访问PLC数据区域的枚举值
ValType:交互数据的类型的枚举值
Block:DB块的号码,非DB取0
Address:要操作字的起始地址
Count:要操作的字的个数
Redata:读取到的数据存放的地址
返回值:函数执行结果
一般返回结果ref的引用为object类型,从哪个地址(Address)开始读取(Count)个字。
一个字:Q0.0 - Q1.7
存储方式
Q0.7-Q0.0 + Q1.7-Q1.0
(5)public short CmdWrite(int Handle, PlcMemory Memory, DataType ValType, ushort Block, ushort Address, ushort Count, ref object[] Data);
函数功能:批量写入数据到PLC的内存
参数:
Handle:网络句柄
Memory:访问PLC数据区域的枚举值
ValType:交互数据的类型的枚举值
Block:DB块的号码,非DB取0
Address:要操作字的起始地址
Count:要操作的字的个数
Redata:写入到PLC数据的地址
返回值:
(6)public short DataConvert(DataType SourType, object SourData, DataType DestType, ref object DestData);
函数功能:数据类型转换
参数:
SourType:源数据类型枚举
SourData:源数据
DestType:目标数据类型枚举
DestData:转换后的目标数据
返回值:函数执行结果
(7)public short DeLink(int Handle);
函数功能:
断开与PLC连接
参数:Handle 网络句柄
返回值:函数执行结果
(8)public short EntLink(string pcIP, ushort pcPort, string plcIP, ushort plcPort, ushort Rack, ushort Slot, string SN, ref int Handle, ushort WaitTime = 1000);
函数功能:
配置PC,PLC通信参数,建立PLC的以太网连接
参数:
pcIP:PC端的IP地址
pcPort:PC的端口
plcIP:PLC的IP
plcPort:PLC的端口
Rack:PLC的机架号码
Slot:PLC的CPU的插槽号码
Handle:返回网络句柄
SN:调用的系列号码与DLL成对使用
返回值:函数执行结果