>点击蓝字 关注不迷路 昨天我们分享了关于ST语言编程中位逻辑的运算,今天就以一个简单的电机正反转控制电路为例,来说明一下ST语言在西门子和三菱PLC中的编程与仿真。
控制要求: 要用到的控制按钮:正转、停止、反转;控制电机接触器的:正转和反转输出信号; 以上信号在PLC中变量表示方式: 动作顺序: 按“正转”-“电机正转”-“停止”-“电机停止”-“反转”-“电机反转”-“停止”-“电机停止”
当电机在正转中,按反转按钮无效;反之同样。
·先以西门子博图编程为例: 首先在使用变量前需要进行变量分配,如下图所示: 梯形图表达型式:
根据前篇文章分享的逻辑运算符使用规则,就可以将以上梯形图程序转换为SCL语句: "Motro_M1" := ("FWD" OR "Motro_M1") AND NOT "STOP" AND NOT "Motro_M2"; "Motro_M2" := ("REV" OR "Motro_M2") AND NOT "STOP" AND NOT "Motro_M1"; 在博图编程软件中显示,如下图所示: 下面启动仿真,离线模拟一下,看是否与我们梯形图编程时一样,满足控制需求: 离线模拟可正常运行,表明SCL语句书写无误。 PS:在西门子博图中,变量区分局部变量和全局变量,像上面例子中,我们用到的都是全局变量,在程序的显示格式只有一个双引号; 当使用局部变量时,显示格式会在变量前自动加“#”符号;如下图所示: 全局变量在全程序的任何地方都可以使用,会占用真实的I/O点位; 局部变量只在当前程序块中有效,所以也可以与全局变量名称重复,写的程序块采用OB1主程序调用的方式,一般都采用此用法。
·下面来看一下,在三菱PLC中ST语句编写和仿真: 前面的变量定义还是按上面的表格名称进行变量设定,如下图所示(使用GX Works3软件编程演示): 此处哦我们采用了局部变量,按前面分享的优缺点。 下面进行程序编写,还记得前面文章说的吗?ST语言可以在不同PLC品牌之间同样方式使用,所以此处我们可以从西门子博图中语句表达式复制张贴过来,如下图所示: 启动仿真,进行变更对应按钮的状态来控制电机的动作,如下图所示: 以上采用同一个案例进行西门子和三菱不同PLC品牌之间的ST语言编写和仿真,可以看到此编程方式的通用性更强,也很方便。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |