施耐德PLC 标准指令库ppt课件.ppt_第1页
施耐德PLC 标准指令库ppt课件.ppt_第2页
施耐德PLC 标准指令库ppt课件.ppt_第3页
施耐德PLC 标准指令库ppt课件.ppt_第4页
施耐德PLC 标准指令库ppt课件.ppt_第5页
已阅读5页,还剩125页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本章节描述标准库指令中的各种指令 5 2标准库指令 1 指令块如图所示 减计数器指令CTD 输入 CD 布尔型 BOOL 该输入端的上升沿触发CV的递减计数 LOAD 布尔型 BOOL 当其为上升沿触发时 CV被置为上限值PV PV 字型 WORD 上限值 也就是CV开始递减时的初始值 2 输出 Q 布尔型 BOOL 一旦CV达到0时 其值为TRUE CV 字型 WORD 不断减1的值 从PV开始直至其达到0 当LOAD为TRUE时 计数变量CV被初始化为上限值PV 当CD端有一个从FALSE变为TRUE的上升沿时 若CV大于0时 它将减1 也就是说 它不会输出小于0的值 当CV等于0时 Q返回TRUE 程序例 分析 程序执行时 将PV WORD设为3 当X2由FALSE变为TRUE上升沿触发时 CV WORD也变为3 此时输入端X1执行FALSE变为TRUE 上升沿触发 则CV WORD自动减计数1 当X1第3次由FALSE变TRUE上升沿触发时 CV WORD递减到0时 此时Q输出为1 加计数指令CTU 指令块如下图所示 5 输入 CU 布尔型 BOOL 该输入端的上升沿触发CV的递增计数 RESET 布尔型 BOOL 当其为TRUE时 CV被复位为0 PV 字型 WORD CV计数的上限 输出 Q 布尔型 BOOL 一旦CV达到其上限PV时 其值为TRUE CV 字型 WORD 不断加1的值 直至其达到PV 当RESET为TRUE时 计数变量CV被初始化为0 当CU端有一个从FALSE变为TRUE的上升沿时 CV将加1 当CV大于或等于上限PV时 Q返回TRUE 程序例 分析 程序执行时 将PV WORD设为3 此时CV WORD是0 此时输入端X1执行FALSE变为TRUE上升沿触发 则CV WORD自动加计数1 当X1第3次由FALSE变TRUE上升沿触发时 CV WORD递增到3时 此时Q输出为1 此时如将RESET端X2执行FALSE变为TRUE上升沿触发 则指令重新复位数变量CV被初始化为0 计数功能块CTU 运行结果 加减双向计数指令CTUD 指令块如下图所示 10 输入 CU 布尔型 BOOL 当CU端有上升沿时 触发CV的递增计数 CD 布尔型 BOOL 当CD端有上升沿时 触发CV的递减计数 RESET 布尔型 BOOL 当其为TRUE时 CV被复位为0 LOAD 布尔型 BOOL 当其为TRUE时 CV被置为PV PV 字型 WORD CV递增时的上限值 或CV开始递减时的初始值 输出 QU 布尔型 BOOL 一旦CV达到PV时 其值为TRUEQD 布尔型 BOOL 一旦CV达到0时 其值为TRUECV 字型 WORD 不断减1的值 从PV开始直至其达到0 程序例 分析 当RESET为TRUE时 计数变量CV被初始化为0 当LOAD为TRUE时 计数变量CV被初始化为上限值PV 当CU端有一个从FALSE变为TRUE的上升沿时 CV将加1 当CD端有一个从FALSE变为TRUE的上升沿时 若CV不会降到0以下时 它将减1 当CV大于或等于上限PV时 QU返回TRUE 当CV等于0时 QD返回TRUE 延时断开指令TOF 定时器功能块 完成关延时的功能 当定时器的输入端由TRUE变为FALSE时 下降沿 等过了一段时间后 定时器的输出端才变为FALSE 指令块如下图所示 13 输入 IN 布尔型 BOOL 该输入端的下降沿触发ET端的计时 PT 时间型 TIME ET计时时间的上限值 延时时间 输出 Q 布尔型 BOOL 一旦ET端计时达到上限值PT时 输出一个下降沿 延时时间过去了 ET 时间型 TIME 时间的当前状态 程序例 分析 当IN为TRUE时 Q为TRUE ET为0 一旦IN变为FALSE 定时器的输出端ET以精确到毫秒级别开始计时 直到它等于PT 随后它会维持不变 当IN变为FALSE且ET等于PT时 Q为FALSE 否则它为TRUE 在本例中 PT设为3s 当X1由TRUE变为FALSE下降沿触发时 定时器输出端ET开始计时 定时到达3s后输出Q由TRUE变为FALSE 延时导通指令TON 定时器功能块 完成开延时的功能 当定时器的输入端变为TRUE时 等过了一段时间后 定时器的输出端才变为TRUE 指令块如下图所示 16 输入 IN 布尔型 BOOL 该输入端的上升沿触发ET端的计时 PT 时间型 TIME ET计时时间的上限值 延时时间 输出 Q 布尔型 BOOL 一旦ET端计时达到上限值PT时 输出一个上升沿 延时时间过去了 ET 时间型 TIME 时间的当前状态 程序例 分析 当IN为FALSE时 Q为FALSE ET为0 一旦IN变为TRUE 定时器的输出端ET以精确到毫秒级别开始计时 直到它等于PT 随后它会维持不变 当IN变为TRUE且ET等于PT时 Q为TRUE 否则它为FALSE 在本例中 PT设为3s 当X1由FALSE变为TRUE上升沿触发时 定时器输出端ET开始计时 定时到达3s后输出Q由FALSE变为TRUE 1 通电延时TON 相应的时序图 利用通电延时TON设计一个通电后延时3S的梯形图 t 880ms时的运行状态 t 3s时的运行状态 参考程序及运行结果 2 断电延时TOF 相应的时序图 t 0s时的运行结果 t 1s100ms时的运行结果 t 3s时的运行结果 例 利用断电延时TOF设计一个断电后延时3S的梯形图 PLC每隔2秒钟读取一次 i 定时器及计数器组合用法 单个定时器用法 秒脉冲 计数器 上述的三种方式都可以实现2s的定时功能 但是从编程的简便性和容许的误差角度来说 第二种方式可能更简单 产生的时间误差更小 在编程的过程中 考虑到PLC扫描周期的影响 应尽可能的简化程序的编写 以减小扫描周期可能产生的误差 触发定时器指令TP 触发定时器功能块 定时器的输出值不断增加 直至其达到限值 在计时期间 脉冲 变量为TRUE 其他时候为FALSE 指令块如下图所示 26 输入 IN 布尔型 BOOL 该输入端的上升沿触发ET端的计时PT 时间型 TIME 计时时间的上限值输出 Q 布尔型 BOOL 当ET端在计时的时候 其值为TRUEET 时间型 TIME 时间的当前状态 程序例 分析 当IN为FALSE时 Q为FALSE ET为0 一旦IN变为TRUE 定时器的输出端ET以毫秒精度开始计时 直到它等于PT 随后它会维持不变 当IN变为TRUE且ET小于或等于PT时 Q为TRUE 否则它为FALSE 在由PT值指定的时间到达时 Q返回了一个信号 在本例中 PT设为3时 X1为FALSE Q1为FALSE 当X1为TRUE Q输出变为TRUE 同时ET开始计数 当ET 3S时 Q输出变回为FALSE 脉冲指令BLINK 功能块BLINK产生脉冲信号 输入由BOOL类型ENABLE 以及TIME类型TIMELOW和TIMEHIGH组成 输出OUT是BOOL类型 指令块如下图所示 如果ENABLE为TRUE 在时间周期TIMEHIGH BLINK设置输出为TRUE 然后在时间周期TIMELOW 设置输出为FALSE 29 程序例 分析 在本例中 当ENABLEX1是TRUE时 BLINK开始工作 输出低电平2s高电平1s的脉冲 如下图 功能块BLINK的应用 振荡电路 振荡电路的作用是产生交流电振荡来作为信号源 一般把大小和方向都随周期发生变化的电流叫振荡电流 能产生振荡电流的电路叫做振荡电路 那么如何使用PLC程序编制振荡电路呢 施耐德标准程序库中提供了这样的功能块来产生方波脉冲 即BLINK功能块 功能块介绍 1 功能块BLINK产生脉冲信号 输入由BOOL类型ENABLE 以及TIME类型TIMELOW和TIMEHIGH组成 输出OUT是BOOL类型 2 如果ENABLE为TRUE 在时间周期TIMEHIGH BLINK设置输出为TRUE 然后在时间周期TIMELOW 设置输出为FALSE 程序和时序图如图所示 图中的程序实现了10s为真 10s为假的方波 时序图 参考程序 下降沿触发指令F TRIG 该功能块检测一个下降沿 指令块如下图所示 34 输入 CLK 布尔型 BOOL 被检测其下降沿的布尔型输入信号输出 Q 布尔型 BOOL 当CLK上检测到一个下降沿时 其值为TRUE 只要输入变量CLK为TRUE 输出Q都保持为FALSE 一旦CLK为FALSE Q会先返回TRUE 然后被置为FALSE 这意味着每次调用这个功能块时 Q会返回FALSE直到CLK在上升沿后有一个下降沿 程序例 分析 在本例中 当X1输入一个由TRUE变为FALSE的下降沿 则F TRIG的输出Q也输出一个由FALSE变为TRUE的上升沿 然后再变为FALSE 上升沿触发指令R TRIG 该功能块检测一个上升沿 指令块如下图所示 37 输入 CLK 布尔型 BOOL 被检测上升沿的布尔型输入信号输出 Q 布尔型 BOOL 当CLK上检测到一个上升沿时 其值为TRUE只要输入变量CLK为FALSE 输出Q保持为FALSE 一旦CLK为TRUE Q会先返回TRUE 然后被置为FALSE 这意味着每次调用这个功能块时 Q会返回FALSE直到CLK在下降沿后有一个上升沿 程序例 分析 在本例中 当X1输入一个由FALSE变为TRUE的上升沿 则R TRIG的输出Q也输出一个由FALSE变为TRUE的上升沿 然后再变为FALSE 单按钮控制输出灯的程序 功能块R TRIG的应用 程序 时序图 功能介绍 1 在程序中使用上升沿指令后 当输入点button的状态由OFF转为ON 仅在驱动输入ON后1个扫描周期内 内部软元件M3才动作 2 在输入点button上 第一个脉冲信号到来时 M3产生一个扫描周期的单脉冲 使M3的常开触点闭合一个扫描周期 3 第一个按钮脉冲到来一个扫描周期后 M3断开 输出线圈lamp接通 第二个支路使输出线圈lamp保持接通 4 当第二个脉冲到来时 M3再产生一个扫描周期的单脉冲 使得输出线圈lamp的状态由接通变为断开 5 通过分析可知 通过一个输入点的上升沿的次数可控制输出lamp的接通和断开 6 由以上分析可知 这个程序同时也是一个二分频电路 如果将分频的脉冲信号加button上 则lamp的输出频率刚好是button输入频率的1 2 加运算指令ADD 变量相加 允许的变量类型 BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL和LREAL 指令块如下图所示 43 程序例 分析 在本例中 当X1为TRUE时 ADD执行把操作数X3和X4相加的运算 并把结果输出到X5中 如X3 3 X4 7 则X5 10 减运算指令SUB 从某个变量中减去一个变量 允许的变量类型 BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL和LREAL 指令如下图所示 45 程序例 分析 在本例中 当X1为TRUE时 SUB执行把操作数X3减去X4的运算 并把结果输出到X5中 如X3 3 X4 7 则X5 4 变量相乘 允许的变量类型 BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL和LREAL 指令如下图所示 乘运算指令MUL 47 程序例 分析 在本例中 当X1为TRUE时 MUL执行把操作数X3乘以X4的运算 并把结果输出到X5中 如X3 3 X4 7 则X5 21 除运算指令DIV 用一个变量除另一个变量 允许的变量类型 BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL和LREAL 指令如下图所示 49 程序例 分析 在本例中 当X1为TRUE时 DIV执行把操作数X3除X4的运算 并把结果输出到X5中 如X3 10 X4 5 则X5 2 截尾取整指令TRUNC 把实数类型 REAL 转换成DINT类型 取被转换值的整数部分 指令如下图所示 51 程序例 分析 在本例中 当X1为TRUE时 TRUNC执行把操作数X7截尾取整的运算 即当X7 9 89时 取其整数部分 并把结果输出到X8 即X8 9 取余指令MOD 一个变量与另一个变量相除取余 允许的变量类型 BYTE WORD DWORD SINT USINT INT UINT DINT UDINT 结果为除法运算的余数 是一个整数 指令如下图所示 53 程序例 分析 在本例中 当X1为TRUE时 MOD指令执行把X3除以X4 并把余数输出到X5中 即当X3 10 X4 6时 余数X5 4 比较等于指令EQ 指令如下图所示 当两个操作数相等时 返回值为TRUE 操作数可以为BOOL BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL LREAL TIME DATE TIME OF DAY DATE AND TIME和STRING类型 程序例 分析 在本例中 当X1为TRUE时 EQ指令执行 比较X3和X4的值 如X3 X4 则输出比较结果X2为TRUE 否则 X2为FALSE 所以 当X3 X4 6时 比较结果X2 TRUE 比较大于等于指令GE 大于或等于 指令如下图 当第一个操作数大于或者等于第二个操作数时 返回值为TRUE 操作数可以为BOOL BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL LREAL TIME DATE TIME OF DAY DATE AND TIME和STRING类型 程序例 分析 在本例中 当X1为TRUE时 GE指令执行 比较X3和X4的值 如X3大于等于X4 则输出比较结果X2为TRUE 否则 X2为FALSE 所以 当X3 5 X4 6时 比较结果X2 FALSE 比较大于指令GT 大于 指令如下图 当第一个操作数比第二个大时 返回值为TRUE 操作数可以为BOOL BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL LREAL TIME DATE IME OF DAY DATE AND TIME和STRING类型 程序例 分析 在本例中 当X1为TRUE时 GT指令执行 比较X3和X4的值 如X3大于X4 则输出比较结果X2为TRUE 否则 X2为FALSE 所以 当X3 8 X4 6时 比较结果X2 TRUE 比较小于等于指令LE 小于等于 指令如下图所示 第一个操作数小于或者等于第二个操作数时 返回值为TRUE 操作数可以为BOOL BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL LREAL TIME DATE TIME OF DAY DATA AND TIME和STRING类型 程序例 分析 在本例中 当X1为TRUE时 LE指令执行 比较X3和X4的值 如X3小于或者等于X4 则输出比较结果X2为TRUE 否则 X2为FALSE 所以 当X3 8 X4 9时 比较结果X2 TRUE 比较小于指令LT 小于 指令如下图所示 当第一个操作数比第二个小时 返回值为TRUE 操作数可以为BOOL BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL LREAL TIME DATE TIME OF DAY DATA AND TIME和STRING类型 程序例 分析 在本例中 当X1为TRUE时 LE指令执行 比较X3和X4的值 如X3小于X4 则输出比较结果X2为TRUE 否则 X2为FALSE 所以 当X3 8 X4 9时 比较结果X2 TRUE 比较不等于指令NE 不等于 指令如下图所示 当两个操作数不相等时 返回值为TRUE 操作数可以为BOOL BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL LREAL TIME DATE TIME OF DAY DATA AND TIME和STRING类型 程序例 分析 在本例中 当X1为TRUE时 LE指令执行 比较X3和X4的值 如X3不等于X4 则输出比较结果X2为TRUE 否则 X2为FALSE 所以 当X3 8 X4 9时 比较结果X2 TRUE 循环左移指令ROL 将操作数按位循环左移 指令如下图所示 ROL in n 允许的数据类型 BYTE WORD DWORD in会左移二进制位n次 同时左边移出的位重新补充到右边 程序例 分析 在本例中 inbyte和outbyte分别设为byte数据类型 inbyte 10 69 n 2 当X1为TRUE时 ROL执行循环左移位 此时 inbyte 10 69 2 01000101 循环左移2位后 outbyte 2 00010101 10 21 循环右移指令ROR 将操作数按位循环右移 指令如下图所示 ROR in n 允许的数据类型 BYTE WORD DWORD in会左移二进制位n次 同时右边移出的位重新补充到左边 程序例 分析 在本例中 inbyte和outbyte分别设为byte数据类型 inbyte 10 69 n 2 当X1为TRUE时 ROR执行循环右移位 此时 inbyte 10 69 2 01000101 循环右移2位后 outbyte 2 01010001 10 81 左移指令SHL 将操作数按位左移 指令如下图所示 SHL in n in 需要左移的操作数 n 操作数左移的位数 如果n超出了数据本身的位数 BYTE WORD和DWORD类型的操作数将会补0 而有符号类型的操作数 例如INT 将会进行算数移位 也就是说会将这些数的最高位的值补在空出的二进制位上 程序例 分析 在本例中 inbyte和outbyte分别设为byte数据类型 inbyte 10 69 n 2 当X1为TRUE时 ROL执行左移位 此时 inbyte 10 69 2 01000101 左移2位后 outbyte 2 00010100 10 20 右移指令SHR 将操作数按位右移 指令如下图所示 SHR in n in 需要右移的操作数 n 操作数右移的位数 如果n超出了数据本身的位数 BYTE WORD和DWORD类型的操作数将会补0 而有符号类型的操作数 例如INT 将会进行算数移位 也就是说会将这些数的最高位的值补在空出的二进制位上 程序例 分析 在本例中 inbyte和outbyte分别设为byte数据类型 inbyte 10 69 n 2 当X1为TRUE时 ROR执行右移位 此时inbyte 10 69 2 01000101 右移2位后 outbyte 2 00010001 10 17 正弦函数SIN 返回一个数的正弦值 数据以弧度计算 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 X3 1弧度 180 pi度 当X1为TRUE时 SIN执行正弦计算 将X3的正弦值输出到X7中 所以X7 0 841 余弦函数COS 返回一个数的余弦值 数据以弧度计算 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 X3 1弧度 180 pi度 当X1为TRUE时 SIN执行余弦运算 将X3的余弦值输出到X7中 所以X7 0 54 正切函数TAN 返回一个数的正切值 数据以弧度计算 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 X3 1弧度 180 pi度 当X1为TRUE时 SIN执行正切运算 将X3的正切值输出到X7中 所以X7 1 56 反正弦函数ASIN 返回一个数的反正弦值 数据以弧度计算 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 X3 1弧度 180 pi度 当X1为TRUE时 ASIN执行反正弦运算 将X3的反正弦值输出到X7中 所以X7 1 57 反余弦函数ACOS 返回一个数的反余弦值 数据以弧度计算 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 X3 1弧度 180 pi度 当X1为TRUE时 ACOS执行反余弦运算 将X3的反余弦输出到X7中 所以X7 0 反正切函数ATAN 返回一个数的反正切值 数据以弧度计算 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 X3 1弧度 180 pi度 当X1为TRUE时 ATAN执行反正切运算 将X3的反正切值输出到X7中 所以X7 0 785 取绝对值函数ABS 返回一个数的绝对值 指令如下图 输入输出INTINT REAL WORD DWORD DINTREALREALBYTEINT REAL BYTE WORD DWORD DINTWORDINT REAL WORD DWORD DINTDWORDREAL DWORD DINTSINTREALUSINTREALUINTINT REAL WORD DWORD DINT UDINT UINTDINTREAL DWORD DINTUDINTREAL DWORD DINT UDINT 程序例 分析 在本例中 当X1为TRUE时 ABS指令执行 将X3的绝对值输出到X7中 如X3 8 则输出X7 8 指数函数EXP 返回指数函数 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 当X1为TRUE时 EXP指令执行 将X3的指数输出到X7中 如X3 2 则输出X7 7 39 幂函数EXPT 求一个变量关于另一个变量的幂 指令如下图 两个操作数可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 当X1为TRUE时 EXPT指令执行 把X3的X5次幂输出到X7中 如X3 2 X5 3 则X7 23 8 取平方根函数SQRT 返回一个数的平方根 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 当X1为TRUE时 SQRT指令执行 把X3的平方根值输出到X7中 如X3 64 则X7 8 对数函数LOG 返回值是以10为底的对数 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 当X1为TRUE时 LOG指令执行 把X3的以10为底的对数结果输出到X7中 如X3 100 则X7 2 自然对数函数LN 返回一个数的自然对数 指令如下图 输入变量可以是BYTE WORD DWORD INT DINT REAL SINT USINT UINT UDINT类型 输出变量只能是REAL类型 程序例 分析 在本例中 当X1为TRUE时 LN指令执行 把X3的自然对数结果输出到X7中 如X3 88 则X7 4 48 取地址指令ADR 取地址指令 指令如下图 ADR返回变量自身的地址 数据类型为DWORD 这个地址可以作为指针传递给操作函数 也可以赋给工程内的某个指针 程序例 分析 在本例中 当X1为TRUE时 ADR指令执行 将X3的地址赋予指针变量zhizhen1上 即zhizhen1指向了X1 如X3 88 则指针变量zhizhen1的值16 1187CBB8即是X1的地址 同时指针的指向变量的值zhizhen1 是88 字节长度指令SIZEOF 这个操作符用来确定给定变量x需要占用多少个字节 指令图下图 SIZEOF操作符通常返回一个无符号数 返回值的类型与变量x的大小相匹配 SIZEOF x 的返回值返回值的类型0 x的值 256USINT256 x的值 65536UINT65536 x的值 4294967296UDINT4294967296 x的值ULINT 程序例 分析 在本例中 当X1为TRUE时 SIZEOF指令执行 来确定给定数组变量arr1需要占用多少个字节 并将结果输出到var3 USINT型 由于arr1是0到5的INT型数组变量 因此var3 12 二选一指令SEL 从两个操作数中选择一个 指令如下图 由G决定IN0还是IN1为输出 OUT SEL G IN0 IN1 的含义 OUT IN0 若G FALSEOUT IN1 若G TRUE 允许的数据类型 IN0 IN1 OUT 任意类型G BOOL 程序例 分析 在本例中 当X1为FALSE时 SEL指令选择X3输出到X5中 所以X5 X3 8 当X1为TRUE时 SEL指令选择X4输出到X5中 所以X5 X3 19 多选一指令MUX 多项选择操作符 指令如下图 IN0 INn以及OUT可以是任意类型的变量 X1必须为BYTE WORD DWORD SINT USINT INT UINT DINT或UDINT类型 MUX从这一组值中选择第X1个值 程序例 分析 在本例中 MUX指令根据X1的值 来决定X9的输出值 当X1 8时 MUX取功能块中的第8个值 即X9 X8 8 取极限指令LIMIT 取极限 指令如下图 程序例 当X1 X2时 X2 X1 X3时 X1 X3时 分析 Max是结果的上限值 Min是结果的下限值 如果IN值大于上限值Max LIMIT将返回Max 而如果IN小于Min 那么结果为Min 在本例中 当X1X3 X2时 输出X9 X3 取最大值指令MAX 取最大值函数 返回输入的值中最大的那一个 指令如下图 IN0 IN1 IN2和OUT可以为任意类型的变量 程序例 分析 程序运行时 MAX指令取输入的X1 X2 X3中最大的值 并将结果输出到X9中 在本例中X2最大 因此X9 X2 9 取最小值指令MIN 取最小值函数 返回两个值中较小的那一个 指令如下图 IN0 IN1 IN2和OUT可以为任意类型的变量 程序例 分析 程序运行时 MIN指令取输入的X1 X2 X3中最小的值 并将结果输出到X9中 在本例中X3最小 因此X9 X3 6 赋值指令MOVE 将一个变量的值赋给另一个适当类型的变量 指令如下图 在图形编辑器FBD LD CFC中 MOVE是一个方框 在这个方框里 未锁定的 EN ENO功能也可以用于变量赋值 程序例 分析 在本例中 当X1为TRUE时 MOVE指令执行 将X3的值赋给到X4中 即X4 X3 8 布尔类型转换指令 从布尔类型转换为其它任意类型 BOOL TO 转换为数字类型时 若操作数为TRUE 结果为1 若操作数为FALSE 结果为0 BOOL TO 转换为字符串类型时 若操作数为TRUE 结果为 TRUE 若操作数为FALSE 则结果为 FALSE 程序例1 程序例2 分析 在本例中 当X1为TRUE时 BOOL TO BYTE指令执行 输出结果outbyte 由于X2 TRUE 所以outbyte 1 分析 在本例中 当X1为TRUE时 BOOL TO STRING指令执行 输出结果outstring 由于X2 TRUE 所以outstring TRUE 字节类型转换指令 BYTE TO 转换为数字类型时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论