
Codesys平台号称工业安卓系统,国内外已经有很多PLC厂商依托它开发自己的控制器产品系列。

我们之前聊过从"安卓手机"看CODESYS的未来。目前,确实学习Codesys和ST编程,基本上能够掌握国内外大部分PLC的编程。

今天我们ST群有群友问Codesys里面有没有置位和复位指令?关于这两个指令,我们在此文详细展开说说。

定义与功能
置位和复位指令均属于位逻辑运算指令,是最基本指令之一:

置位(SET):将指定输出点或内部继电器强制置为ON(1)并保持,即使触发条件消失,状态仍持续。例如,电机启动后需保持运行,无需持续按压启动按钮。下面以西门子PLC的梯形图LD展示置位逻辑:

复位(RST):将指定输出点或内部继电器强制置为OFF(0)或清除计数器/寄存器值。例如,停止电机或重置计数器。下面以西门子PLC的梯形图LD展示复位逻辑:

需要注意的是:对同一个输出点置位和复位需要成对实现!不要只是置位,而忘记实现复位逻辑。导致受控部件无法停下来,从而损伤设备!

Codesys里面的置位和复位
我们打开CODESYS编程IDE软件,如果新建程序选择的语言是LD梯形图,那么我们在右侧的指令栏可以找到Set Coil 和Reset Coil这两个Ladder梯形图指令:

当然,和西门子的指令归类是不一样的。但是,同样的程序,我们用CODESYS编程示例如下图所示:


ST语言里的置位和复位
如果同样的程序用ST语言进行表示,当然直接可以用赋值语句来实现,具体如下图所示:

在CODESYS软件里面,关于置位和复位,还有扩展的类型ExST,这种方式也是可以的,具体如下图所示:

那么,上面的示例就可以这样编写:

好了,我们这期重点分享了CODESYS中的置位和复位指令,欢迎点赞收藏,如果需要了解其他的指令,欢迎留言讨论哦!