首页 理论教育 S7-1200的组态与编程

S7-1200的组态与编程

时间:2023-06-30 理论教育 版权反馈
【摘要】:USS_Drive_Control指令用于组态要发送给变频器的数据,并显示接收到的数据。故障确认位F_ACK用于确认变频器发生的故障,复位变频器的故障位。STATUS1是包括变频器的固定状态位的状态字1。在S7-1200的系统手册13.4.2节“使用USS协议的要求”名为“计算时间要求”的表格中可以查到,波特率为19200bit/s时,最小USS_Port_Scan调用间隔为68.2ms,每个驱动器的驱动器消息间隔超时时间为205ms,S7-1200与变频器通信的时间间隔应在二者之间。图6-76 USS_Port_Scan指令双字“BAUD”用于设定波特率,可选300~115200bit/s。

S7-1200的组态与编程

1.硬件组态

在STEP7中生成一个名为“变频器USS通信”的项目(见随书光盘中的同名例程),CPU的型号为CPU1214C。打开设备视图,将硬件目录窗口的文件夹“\通信模块\点到点”中的CM 1241(RS422/485)模块拖放到CPU左边的101号槽。

选中该模块,打开下面的巡视窗口的“属性”选项卡。选中左边窗口的“端口组态”(见图6-49),在右边窗口设置“操作模式”为“半双工(RS485),2线制模式”,波特率为19.2kbit/s,偶校验。其余的参数采用默认值。

2.USS通信的程序结构

连接到一个RS-485端口的最多16台变频器属于同一个USS网络。USS_Drive_Control指令用于组态要发送给变频器的数据,并显示接收到的数据。每台变频器需要调用一条USS_Drive_Control指令,这些指令共同使用调用第一条USS_Drive_Control指令时生成的背景数据块(本例为DB1),每个USS网络通过这个背景数据块进行管理。

每个RS-485通信端口使用一条USS_Port_Scan指令,它通过RS-485通信端口控制CPU与所有变频器的通信,它有自己的背景数据模块。

指令USS_Read_Param和USS_Write_Param分别用于读取和更改变频器的参数。如果在编辑器中添加这两条指令或USS_Port_Scan指令,需要将USS_Drive_Control的背景数据块的USS_DB参数分配给这些指令的USS_DB输入(见图6-76)。

3.USS_Drive_Control指令

双击打开“程序块”文件夹中的OB1,将指令列表的“通信”窗格的“\通信处理器\USS通信”文件夹中的指令USS_Drive_Control拖放到OB1(见图6-75)。在自动打开的“调用选项”对话框中,单击“确定”按钮,生成一个默认名称为“USS_Drive_Control_DB”的背景数据块DB1。只能在OB1中调用USS_Drive_Control。

起始位RUN为1状态时,变频器以预设的速度运行。如果在变频器运行期间RUN变为0状态,则电动机减速至停车。

在变频器运行时,如果位输入参数OFF2变为0状态,电动机在没有制动的情况下惯性滑行,自然停车。如果位输入参数OFF3变为0状态,通过制动使电动机快速停车。

故障确认位F_ACK用于确认变频器发生的故障,复位变频器的故障位。

方向控制位DIR用于控制电动机的旋转方向。

参数DRIVE是变频器的USS地址(1~16)。

PZD_LEN是PLC与变频器通信的过程数据PZD的字数,采用默认值2。

实数SPEED_SP是用组态的基准频率的百分数表示的速度设定值(200.0~-200.0)。该参数的符号可以控制电动机的旋转方向。

可选参数CTRL3~CTRL8是用户定义的控制字。

变量NDR为1状态表示新的通信数据准备好。

位变量ERROR为1状态表示发生错误,参数STATUS有效,其他输出在出错时均为零。仅用USS_Port_Scan指令的参数ERROR和STATUS报告通信错误。

字变量STATUS是指令执行的错误代码。(www.xing528.com)

位变量RUN_EN为1状态表示变频器正在运行。

位变量D_DIR用来指示电动机旋转的方向,1状态表示反向。

位变量INHIBIT为1状态表示变频器已被禁止。

位变量FAULT为1状态表示变频器有故障,故障被修复后可用F_ACK位来清除此位。

实数SPEED是以组态的基准频率的百分数表示的变频器输出频率的实际值。

STATUS1是包括变频器的固定状态位的状态字1。

STATUS3~STATUS8是用户可定义的状态字。

978-7-111-58719-4-Chapter06-131.jpg

图6-75 USS_Drive_Control指令

4.USS_Port_Scan指令

为确保帧通信的响应时间恒定,应在循环中断OB中调用该指令。在S7-1200的系统手册13.4.2节“使用USS协议的要求”名为“计算时间要求”的表格中可以查到,波特率为19200bit/s时,最小USS_Port_Scan调用间隔为68.2ms,每个驱动器的驱动器消息间隔超时时间为205ms,S7-1200与变频器通信的时间间隔应在二者之间。

生成循环中断组织块OB33,设置其循环时间为150ms,将指令列表的“通信”窗格的“\通信处理器\USS通信”文件夹中的指令USS_Port_Scan拖放到OB33(见图6-76)。

双击输入参数“PORT”对应的<???>,单击出现的978-7-111-58719-4-Chapter06-132.jpg按钮,选中指令列表中的“Local~CM_1241_(RS422_485)_1”,其绝对地址为258。

978-7-111-58719-4-Chapter06-133.jpg

图6-76 USS_Port_Scan指令

双字“BAUD”用于设定波特率,可选300~115200bit/s。

参数USS_DB的实参是函数块USS_Drive_Control的背景数据块中的静态变量。

该指令执行出错时,ERROR为1状态,错误代码在STATUS中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈