500 likes | 650 Views
3.6.4 梯形图指令可实现的基本逻辑功能. 逻辑与 功能: 将当前 ACC 中的值与 BOOL 类型的操作数求逻辑与运算,然后将结果存入 ACC 中。. 3.6.4 梯形图指令可实现的基本逻辑功能. 逻辑与非 功能: 将 BOOL 类型的操作数求逻辑非运算后再与当前 ACC 中的值求逻辑与运算,然后将结果存入 ACC 中。. 3.6.4 梯形图指令可实现的基本逻辑功能. 逻辑或 功能: 将当前 ACC 中的值与 BOOL 类型的操作数求逻辑或运算,然后将结果存入 ACC 中。. 3.6.4 梯形图指令可实现的基本逻辑功能. 逻辑或非
E N D
3.6.4 梯形图指令可实现的基本逻辑功能 逻辑与 功能:将当前ACC中的值与BOOL类型的操作数求逻辑与运算,然后将结果存入ACC中。
3.6.4 梯形图指令可实现的基本逻辑功能 逻辑与非 功能:将BOOL类型的操作数求逻辑非运算后再与当前ACC中的值求逻辑与运算,然后将结果存入ACC中。
3.6.4 梯形图指令可实现的基本逻辑功能 逻辑或 功能:将当前ACC中的值与BOOL类型的操作数求逻辑或运算,然后将结果存入ACC中。
3.6.4 梯形图指令可实现的基本逻辑功能 逻辑或非 功能:将BOOL类型的操作数求逻辑非运算的结果与当前ACC中的值求逻辑或运算,然后将结果存入ACC中。
3.6.4 梯形图指令可实现的基本逻辑功能 逻辑异或 功能:将当前ACC中的值与BOOL类型的操作数求逻辑异或运算,然后将结果存入ACC中。
3.6.4 梯形图指令可实现的基本逻辑功能 逻辑异或非 功能:将BOOL类型的操作数求逻辑非运算的结果与当前ACC中的值求逻辑异或运算,然后将结果存入ACC中。
1.内部数据转换 2.外部数据类型转换 3.6.7 据类型转换
1.内部数据转换 内部数据转换是由编辑器自动检查两个变量的数据类型,然后下表所示的规则由低级类型(即范围小的数据类型)向高级类型(即范围大的数据类型)方向转换。 3.6.7 据类型转换
3.6.7 据类型转换 注:x—根据操作需要进行外部转换
例3-12实现end=USINT_ pv+UINT_ pv的运算(用指令语言IL)。 变量声明: PV Name DATA Type USINT_ pv USINT UINT_ pv UINT End UDINT 3.6.7 据类型转换
IL编程如下: LD USINT_ pv ADD UINT_ pv ST end 3.6.7 据类型转换
按向上的转换规则自动进行数据类型的转换 3.6.7 据类型转换
REAL UDINT DINT UINT INT USINT SINT BOOL 3.6.7 据类型转换
执行时,内部数据转换的转换顺序为: ① 当前ACC中的过程变量USINT_ pv的值 向上转换为UINT类型的值。 ② 两个UINT类型的值相加,其结果是UINT类型的值,并存入ACC中。 ③ 当前ACC中UINT类型的值转换为UDINT赋给end。 3.6.7 据类型转换
转换时,编辑器用“0”来填充转换后数据的高位。 3.6.7 据类型转换
3.6.7 据类型转换 USINT_ pv的值向上转换为UINT类型的值 0 0 0 0 0 0 0 0 两个UINT类型的值相加 UINT类型的值转换为UDINT赋给end 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
由例3-12可知内部数据转换的转换规则 3.6.7 据类型转换
REAL UDINT DINT UINT INT USINT SINT BOOL 3.6.7 据类型转换
注意: ① 图中箭头的方向只表示数据类型级别的高低,由低向高转换,但不要理解为必须是按顺序转换。如例3-12中,过程变量USINT_pv的值就直接向上转换为UINT类型的数据。 3.6.7 据类型转换
② 相同位数的数据类型(如INT与UINT类型的)一个是负数,另一个是正数,两者相互转换时,编译器把带符号的数据当作无符号的数据来处理。 例如:-1 000→64 536 3.6.7 据类型转换
在梯形图LAD中,只有在模拟量触点和模拟量类型的连线中,才会涉及到数据类型的转换。在梯形图LAD中,只有在模拟量触点和模拟量类型的连线中,才会涉及到数据类型的转换。 从左往右看梯形图,左边触点的数据类型必须与右边触点的数据类型相同或比右边触点的数据类型更低级,这样,编辑器才能按向上的转换规则自动进行数据类型的转换,否则,编辑器会产生一个错误报告。 3.6.7 据类型转换
例3-13实现USINT与UINT数据类型的转换。 变量声明: PV Name DATA Type USINT_pv USINT UINT_pv UINT 3.6.7 据类型转换
2.外部数据类型转换 3.6.7 据类型转换
进行同一类型数据相乘或相加运算时,常常会出现溢出现象 3.6.7 据类型转换
溢出现象:同一类型数据相乘或相加运算时,结果超出此类型的最大允许范围溢出现象:同一类型数据相乘或相加运算时,结果超出此类型的最大允许范围 下溢现象:同一类型数据相减时,会出现结果超出此类型的负向最大允许范围。 3.6.7 据类型转换
发生过载,变量不能得到正确的值 必须按正确的顺序进行 外部数据类型转换。 3.6.7 据类型转换
例3-14用IL语言编程实现表达式: average=(temp1+temp2)/2 变量声明: PV Name DATA Type Average INT temp1 INT temp2 INT 3.6.7 据类型转换
分析 : 由于若还是采用内部数据类型转换,则当temp1与temp2之和大于INT正值范围(+32 767)时,便得不到正确的结果,因此必须进行外部数据类型转换。 3.6.7 据类型转换
IL语言编程如下: LD temp1 ;load temp1 DINT ;converts the ACC value to DINT ADD temp2 ;now temp2 is implicitly ;converted to DINT DIV 2 INT ;converts the result with DINT ;to the result with INT ST average 3.6.7 据类型转换