《plc系统编程-2基本指令.ppt》由会员分享,可在线阅读,更多相关《plc系统编程-2基本指令.ppt(36页珍藏版)》请在三一办公上搜索。
1、xxx:布尔变量;布尔常量;布尔地址(拓扑地址或符号地址),1)常开触点:,1、触点类型指令:,说明:,若 xxx 状态为 ON,则左侧链路的状态会被传输到右侧链路。否则,右侧链路状态为 OFF。,2)常闭触点:,若 xxx 状态为 OFF,则左侧链路的状态会被传输到右侧链路。否则,右侧链路状态为 OFF。,说明:,xxx:布尔变量;布尔常量;布尔地址(拓扑地址或符号地址),5.2 M340PLC基本编程指令,继电器指令:,布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。,3)正转换感应触点:,当左链接通时,若
2、xxx 从断开切换到闭合,即检测到当前控制输入从0变到1,则右链闭合;否则右链断开。,说明:,xxx:布尔变量;布尔常量;布尔地址(拓扑地址或符号地址),4)负转换感应触点:,当左链接通时,若 xxx 从闭合切换到断开,即检测到当前控制输入从 1变到0,则右链闭合;否则右链断开。,说明:,定义:测试指令可用于检测 PLC 输入的上升或下降沿;当第n次扫描所得输入与第 n-1 次不同,且在该扫描中保持不变,就表明检测到一个沿。,xxx:布尔变量;布尔常量;布尔地址(拓扑地址或符号地址),2、线圈类型指令:,1)线圈:,xxx:布尔变量;布尔地址,通过线圈,左链路的状态将传输到相应的布尔型实参数及
3、右侧链路。,说明:,2)反向线圈:,说明:,通过反向线圈,左链路的状态将复制到右链路中;左链路的相反状态将复制到相应的布尔型实参。如果左侧链路为 OFF,那么右侧链路也将为 OFF,相关的布尔型实际参数将为 ON。,3)置位线圈:,说明:,使用置位线圈,左侧链路的状态将复制到右侧链路。若左侧链路状态为 ON,则相关实参被设定为 ON,否则实参保持不变。使用复位线圈可将相应的实参复位。,4)复位线圈:,说明:,使用复位线圈,左侧链路状态将复制到右侧链路中。若左侧链路状态为 ON,则相关实参被设定为 OFF,否则实际参保持不变。通过置位线圈可置位相应实参。,5)正转换感应线圈:,说明:,使用该线圈
4、,左链路状态将复制到右链路;若左链路的状态从 0 转为 1,则程序循环中数据类型为 EBOOL 的相关实际参数为 1,即为接通状态。,xxx:EBOOL实参,6)负转换感应线圈:,说明:,使用该线圈,左链路状态将复制到右链路;若左链路的状态从 1 转换为 0,则程序循环中数据类型为 EBOOL 的相关实际参数为 1,即为接通状态。,7)暂停线圈:,使用该线圈,若左链路状态为 1,则程序立即停止执行;使用该线圈,左链路的状态不会复制到右链路。,说明:,8)调用线圈:,使用该线圈,左链路状态将复制到右侧链路。若左链路状态为 ON,则会调用相应的子程序(用 xxx 表示);待调用子程序必须与发出调用
5、的 LD 段位于同一任务中;也可以从子程序中调用子程序。在 SFC 动作段中,仅当启用了多令牌操作后,才允许使用调用线圈(子程序调用)。,说明:,3、特殊功能块:,该类功能块只能在LD编程语言中使用,1)操作功能块:,说明:,(1)当左链路状态为 1 时,执行功能块中的 ST 指令;,(2)除控制指令外,其余所有ST指令均可执行;,(3)不论ST指令如何,左侧路状态将传递给右链路;,(4)一个功能块最多可含 4096 个字符,若不能显示全部字符,则字符序列的起始字符后面将跟着省略号(.);,(5)一个操作功能块占用 1 行 4 列;,例:,1)当 In1=1,指令1 执行;2)当 In1=1
6、并且 In2=1 时,指令2执行;指令1 的结果对于 指令2 的执行没有任何意义;3)若 In1=1 并且 In2=1,则 Out1 为 1;指令1 和 指令2 的结果对于 Out1 的状态没有任何意义。,2)比较功能块:,说明:,(1)用于执行 ST 编程语言中的比较表达式(、=、=或);(使用 ST 表达式也可实现相同的功能),(2)对其左侧 In 引脚和其比较条件的结果执行“与”操作,然后将此“与”操作结果无条件地分配给右侧的 Out 引脚;,(3)一个功能块最多可含 4096 个字符,若不能显示全部字符,则字符序列的起始字符后面将跟着省略号(.);,(4)一个操作功能块占用 1 行 2
7、列;,例:,在示例中,比较1 在 In1=1 时执行;比较2 在 In1=1、In2=1 并且 比较1 的结果=1 时执行;若 In1=1、In2=1,并且 比较1 和 比较2 的结果都=1,则 Out1 为 1。,4、跳变沿识别:,1)对象:,2)分类:,正跳变沿:在跳变沿识别时,将监控某一位从0到1的转换;,负跳变沿:在跳变沿识别时,将监控某一位从1到0的转换;,3)识别过程:,(1)需要对上一周期中的位值和当前周期中的位值进行比较,故需要2个位:即当前值和旧值。,(2)需用到EBOOL数据类型,因为BOOL仅提供一位(当前值),EBOOL可以保存的数据:,置位中保存位的当前值;,历史记录
8、位中保存位的旧值:,在每个周期开始时,置位的内容被复制到历史记录位中,0=禁用强制,1=启用强制,强制位中保存是否启用位强制的信息,使用识别正跳变沿的触点识别正跳变沿;此时,关联的实际参数(A)从0变为1,左连接的状态此时为 1,则程序周期的右连接为1;否则,右连接的状态为0;,4)正跳变沿识别过程:,例:假定识别变量A的正跳变沿,因此应为周期设置B。,使用识别负跳变沿的触点识别负跳变沿;此时,关联的实际参数(A)从1变为0,左连接的状态此时为 0,则程序周期的右连接为1;否则,右连接的状态为0。例:假定识别变量A的负跳变沿,因此应为周期设置B。,5)负跳变沿:,6)用途:是指用边沿触发信号产
9、生一个机器周期的扫描脉冲,通常用作脉冲整形。,例1:,I0.0的上跳沿,EU产生一个扫描周期时钟脉冲,M0.0线圈通电,M0.0常开触点闭合一个扫描周期,使输出置位线圈Q0.0触发有效(输出线圈Q0.0=1)并保持。I0.1下跳沿,ED产生一个扫描周期的时钟脉冲,驱动输出线圈M0.1通电一个扫描周期,M0.1常开触点闭合,使输出线圈Q0.0复位有效(Q0.0=0)并保持。,例2:,例3:,置位线圈与普通线圈的区别,1、TON:接通延迟,5.2.2 定时器/计数器指令:,一、定时器:,1)输入参数描述:,是BOOL类型数据;即0(FALSE)或 1(TRUE);从字中抽取的位为 BOOL 类型,
10、例如:%MW10.4。,是TIME类型;以毫秒为单位;以32位编码表示0 到232-1毫秒的时间;TIME 类型有以下单位:天(d)、时(h)、分(m)、秒(s)和毫秒(ms);TIME 类型的数值由 T#、t#、TIME#或 time#后接上述单位的组合来表示;示例:T#25h15m、t#14,7S、TIME#5d10h23m45s3ms,功能描述:用于接通延迟;首次调用时,ET 的初始状态为“0”;可以将 EN 和 ENO 配置为附加参数。,2、TOF:关闭延迟,功能描述:用作关闭延迟;首次调用时,ET 的初始状态为0“;可以将 EN 和 ENO 配置为附加参数。,3、TP:脉冲,功能描述
11、:用于生成一个具有已定义持续时间的脉冲;首次调用时,ET 的初始状态为0“;可将EN和ENO配置为附加参数。,例:,定时器时序,防止误操作,例:使用一键(myin)进行启停,并且是延时停功能TON基本功能块实现TOF基本功能块的功能(即使用TON实现延时断电功能),电机顺序起动梯形图,计数器用来累计输入脉冲的次数,是应用非常广泛的编程元件,经常用来对产品进行计数。,M0.0 起动信号,Q0.1 起动电机M1,T40,+200 延时2000ms后起动电机M2,Q0.2 起动电机M2,T41,+300 延时3000ms后起动电机M3,Q0.3 起动电机M3,二、计数器:,1、CTU、CTU_*:加
12、计数器:,FBD表示方法,LD表示方法,1)输入参数描述:,BOOL类型数据(同前面),BOOL类型数据(同前面),INT(单精度整型);采用 16 位编码;范围-215 215-1。例:-32768、32767、16#9FA4。,对于CTU_*而言:可以用INT;DINT(双精度整数);UINT(无符号整数);UDINT(无符号双精度整数),功能描述:用于递增计数;工作过程:R 输入为“1”,CV 输出为“0”;CU 输入处每次从“0”到“1”发生跳变,都会将 CV 加 1;当 CV PV 时,Q 输出设置为“1”;注意:计数器仅增至所用数据类型的最大值,不发生溢出;EN 和 ENO:可将其
13、配置为附加参数;两种不同的功能块规范:CTU:在 IEC 61131-3 中定义,适用于 INT 数据类型;CTU_*:符合 IEC 61131-3 扩展,涵盖其他数据类型;可用的功能块如下:CTU_INT;CTU_DINT;CTU_UINT;CTU_UDINT,例:,2、CTD、CTD_*:减计数器,FBD表示方法,LD表示方法,功能描述:用于递减计数;工作过程:LD 输入为“1”,将 PV 输入的值分配给 CV 输出;CD 输入处每次从“0”到“1”发生跳变,都会将 CV 减 1;当 CV 0 时,Q 输出将变为“1”。注意:计数器仅减至所用数据类型的最小值,不发生溢出;EN 和 ENO:
14、可将其配置为附加参数;两种不同的功能块规范:CTD:IEC 61131-3 中定义,仅适用于 INT 数据类型;CTD_*:IEC 61131-3 扩展,涵盖其他数据类型;可用功能:CTD_INT;CTD_DINT;CTD_UINT;CTD_UDINT,例:,3、CTUD、CTUD_*:加/减计数器,FBD表示方法,LD表示方法,功能描述:用于递增计数和递减计数;工作过程:R 输入为“1”,CV 输出为“0”;LD 输入为“1”,将 PV 输入的值分配给 CV 输出;CU 输入处每次从“0”到“1”发生跳变,都会将 CV 加 1;CD 输入处每次从“0”到“1”发生跳变,都会将 CV 减 1;若R 输入为“1”和LD 输入为“1”时,R优先;CV PV 时,QU输出设置为“1”;当 CV 0 时,QD输出将变为“1”。注意:减计数器仅减至所用数据类型的最小值,加计数器仅增至所用数据类型的最大值,不发生溢出;EN 和 ENO:可将其配置为附加参数;两种不同的功能块规范:CTUD:IEC 61131-3 中定义,仅适用于 INT 数据类型;CTUD_*:IEC 61131-3 扩展,涵盖其他数据类型;可用功能:CTUD_INT;CTUD_DINT;CTUD_UINT;CTUD_UDINT,