要使用USS协议仅传输数据而不进行控制,您需要遵循以下步骤进行编程:
初始化USS通讯
使用`USS_INIT`指令来初始化与S7-200接口的USS通讯。这个指令会设置通讯参数,例如波特率和通讯端口,并自动生成所需的子程序、中断和符号标签。
配置通讯参数
在TIA Portal中配置CM 1241通讯模块,设置波特率、数据位、校验位和停止位等参数。
编写USS通讯程序
创建一个组织块(ORGANIZATION_BLOCK),并在其中定义USS驱动块(USS_DRIVE_DB)。
在程序中调用`USS_INIT`指令来初始化通讯,并设置相应的通讯参数(如波特率、端口号等)。
发送数据
使用`WRITE PM`指令将参数写入变频器。这个指令用于将参数从PLC传输到变频器,而不涉及对变频器的控制。
读取参数(可选):
如果需要从变频器读取参数,可以使用`READ PM`指令。
```pascal
ORGANIZATION_BLOCK "Main"
VAR
USS_Drive_DB: USS_DRIVE_DB; // USS驱动块
USS_Init: Bool := TRUE; // 初始化标志
StartBit: Bool; // 启动位
SpeedSP: Real; // 速度设定值
END_VAR
BEGIN
// 初始化USS
IF USS_Init THEN
"USS_Init_Port_DB" (
PORT := 1, // 通讯端口号
BAUD := 9600, // 波特率
ERROR => InitError // 错误输出
);
USS_Init := FALSE;
END_IF;
// 发送速度设定值
SpeedSP := 1000.0; // 假设速度设定值为1000 RPM
"USS_Drive_DB" (
Speed := SpeedSP // 将速度设定值写入变频器
);
END_BEGIN
```
在这个示例中,我们首先初始化USS通讯,然后通过`USS_Drive_DB`功能块将速度设定值发送给变频器。这个程序仅涉及数据的传输,不包含任何控制指令。
建议
确保在初始化USS通讯时,只执行一次`USS_INIT`指令,并且根据需要设置正确的通讯参数。
在发送数据时,使用`WRITE PM`指令将参数传输到变频器,而不使用`DRV CTRL`等控制指令。
如果需要读取变频器的参数,可以使用`READ PM`指令,但请注意这通常用于监控和控制目的。