昭通市西门子模块代理商
- 报价
- 请来电询价
- 西门子
- 西门子代理商
- 西门子CPU
- 西门子plc
- 德国
- 全新原装
- 关键词
- 西门子PLC,西门子CPU,西门子代理商,西门子授权代理商,西门子一级代理商
- 更新时间
- 2026-05-31 08:02
4.2.2在SIMOTION侧建立通信连接
与PLC在NETPRO中创建连接不同,在SIMOTION侧需要调用函数建立连接,通信函数存储于在“Communication”->“Data transfer”目录下,函数调用的示例程序参考图16:

图16 SIMOTION侧建立TCP连(客户端)
函数参数解释如下:
Port
SIMOTION 端口号,数据类型UINT,在NETPRO中定义为2001。
ServerAddress
PLC的IP地址,数据类型为数组,ARRAY [0..3] OF USINT,在4个字节中输IP地址,例如192、168、1、112,表示IP地址为192.168.1.112。
ServerPort
PLC的端口号,数据类型UINT,例子程序中在NETPRO定义为2000。
NextCommand
枚举数据类型,元素中包括“IMMEDIATELY ”、“WHEN_COMMAND_DONE。
“IMMEDIATELY”:接收命令与后续所要执行的命令同步执行。
“WHEN_COMMAND_DONE”:接收命令执行或失败后执行后续的命令,异步执行。
OUT
调用函数返回信息,包括调用状态和连接号。数据类型为结构体(StructRetTcpOpenClient),返回信息参考表2:
表2:TCP 客户端连接函数返回信息
| 结构 | 名称 | 数据类型 |
| functionResult | 状态信息,可以查看通信连接是否建立 | DINT |
| connectionId | 连接号,用于发送和接收函数的参数赋值 | DINT |
连接函数调用一次,得到连接号后停止调用。
注意:此函数调用需用上升沿信号进行使能。
4.2.3在PLC侧编写通信程序
通信连接建立后,在通信双方需要编写通信函数或通信功能块。在S7-300 PLC侧OB35中(间隔发送)调用发送功能块FC5 AG_SEND(“Libraries”->“Standard Library”->“SIMATIC_NET_CP”->“CP300”,示例程序如下:
CALL "AG_SEND"
ACT :=TRUE
ID :=1
LADDR :=W#16#100
SEND :=P#DB1.DBX 0.0 BYTE 60
LEN :=60
DONE :=M1.2
ERROR :=M1.3
STATUS:=MW2
通信函数FC5的参数含义:
ACT :为1触发。
ID :参考本地CPU连接表中的块参数。
LADDR :参考本地CPU连接表中的块参数。
SEND : 发送区。大通信数据为8192字节。与SIMOTION之间大4096个字节。
LEN : 实际发送数据长度。
DONE :每次发送成功,产生一个上升沿。
ERROR :错误位。
STATUS:通讯状态字。
示例程序中S7-300 PLC发送DB1中前60个字节。
在通信方CPU OB1中调用接受函数FC6 AG_RECV(“Libraries”->“Standard Library”->“SIMATIC_NET_CP”->“CP300”,示例程序如下:
CALL "AG_RECV"
ID :=1
LADDR :=W#16#100
RECV :=P#DB2.DBX 0.0 BYTE 60
NDR :=M10.1
ERROR :=M10.2
STATUS:=MW12
LEN :=MW14
通信函数FC6的参数含义:
ID :参考本地CPU连接表中的块参数。
LADDR :参考本地CPU连接表中的块参数。
RECV : 接收区。接收区应等于发送区。
NDR : 每次接收到新数据,产生一个上升沿。
ERROR :错误位。
STATUS:通讯状态字。
LEN : 实际接收数据长度。
示例程序中S7-300 PLC将接收的数据存储于本地数据区DB2的前60个字节中。
4.2.4在SIMOTION侧编写通信程序
在PLC侧调用发送和接收功能块,在SIMOTION侧相应调用发送和接收函数与之相匹配,通信函数存储于在“Communication”->“Data transfer”目录下,发送函数调用的示例程序参考图17,发送函数与PLC的接收功能块相匹配。

图17 调用发送函数
发送函数参数解释如下:
ConnectionId
参考_TcpOpenClient函数建立的连接。
NextCommand
枚举数据类型,元素中包括“IMMEDIATELY ”、“WHEN_COMMAND_DONE。
“IMMEDIATELY”:接收命令与后续所要执行的命令同步执行。
“WHEN_COMMAND_DONE”:接收命令执行或失败后执行后续的命令,异步执行。
DataLength
发送数据的字节长度,数据类型为UDINT,例子中为60,发送数据区Data中前60个字节。
Data
发送数据区,数据类型为数组,ARRAY [0..4095] OF BYTE。
OUT
输出通信状态,数据类型为DINT。
接收函数调用的示例程序参考图18,接收函数与PLC的发送功能块相匹配。

图18 调用接收函数
接收函数参数解释如下:
ConnectionId
参考_TcpOpenClient函数建立的连接。
ReceiveVariable
数据接收区,数据类型为数组,ARRAY [0..4095] OF BYTE,大4096字节。
OUT
调用函数返回信息,包括调用状态和接收的字节数量。数据类型为结构体(StructRetTcpReceive),返回信息参考表3:
表3: 接收函数返回信息
| 结构 | 名称 | 数据类型 |
| functionResult | 接收状态信息 | DINT |
| dataLength | 接收字节长度 | UDINT |
注意:
PLC的接收区和发送区必须与SIMOTION的接收区和发送区相同。
UDP示例程序参考附带文件“SIMOTION_UDP”.ZIP
TCP示例程序参考附带文件“SIMOTION_TCP”.ZIP
西门子模块代理商
从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机电设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。【依法须经批准的
浔之漫智控技术有限公司西门子代理。联系人:小聂(15221406036)浔之漫智控技术有限公司主要产品有“PLC,变频器,触摸屏,模块,传感器,低压器,伺服电机,工控机”。全新原装,质量保证,保修一年,价格合理,支持技术服务!SIEMENS 可编程控制器1、 SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-2002、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24R...