西门子plc编程举例.ppt
例2解决算术问题如何使用3种整数算术运算指令产生如下列方程一样的结果:MW4=((IW0+DBW3)x15)/MW0打开数据块DB1。五、浮点数运算指令P12132位标准IEEE浮点数完成以下算术运算:?ADD_R实数加法?SUB_R实数减法?MUL_R实数乘法?DIV_R实数除法?完成一个浮点数的绝对值运算(ABS)?完成一个浮点数的平方(SQR)和平方根(SQRT)运算?完成一个用32位标准IEEE浮点数表示的角度的以下三角函数运算:-正弦(SIN)和反正弦(ASIN)运算-余弦(COS)和反余弦(ACOS)运算-正切(TAN)和反正切(ATAN)运算例如果I0.0=“1”,则ADD_R方块激活。MD0+MD4相加的结果放入MD10中。如果结果在浮点数的允许范围之外或程序语句没有执行(I0.0=“0”),则输出Q4.0置位。六、数据块指令例--(OPN)打开数据块:DB或DI数据块10(DB10)被打开。接点地址(DBX0.0)指的是数据块DB10中包含的当前数据记录的数据字节0的0位。该位的信号状态被赋值给输出Q4.0。七、赋值指令P197MOVE赋值例如果I0.0=“1”,则执行指令。MW10的内容被复制到当前打开的数据块的数据字12中。如果执行指令,则Q4.0为“1”。参数数据类型存储区域说明ENBOOLI,Q,M,L,D使能输入ENOBOOLI,Q,M,L,D使能输出IN所有数据类型,长度可为8位、16位或32位I,Q,M,L,D或常数源数值OUT所有数据类型,长度可为8位、16位或32位I,Q,M,L,D目的地址数据装入和传递(1)装载
举例L+5 // 16-位常数(整数)LL#523123 // 32-位常数(双整数)LB#16#EF // 十六进制字节L2#0010011011100011 // 16-位二进制值L3.14 // 32-位常数(实数)MOVEENINOUTENOMB55FBDL +5T MB5STLMOVEENOUTENOMB5LADIN5数据装入和传递(2)00000000::LW#16#CAFELW#16#AFFE:::XXXXXXXXCAFEAFFEACCU2内容ACCU1
内容程序YYYYYYYYXXXXXXXX0000CAFE数据装入和传递(3)31231570000000000000000000000000MB0312315700000000000000000MB1MB031231570MB3MB2MB0MB1LMB0程序TQD4QD4QW4QB4ACCU1内容LMW0LMD0TQW4TQB4逻辑控制指令可以用于所有逻辑块:组织块(OB),功能块(FB)和功能(FC)。可执行下列功能的逻辑控制指令:?---(JMP)---无条件跳转?---(JMP)---条件跳转?---(JMPN)---若非则跳转八、逻辑控制指令P133例1无条件跳转例2有条件跳转BOOL,BYTE,WORD BOOL型变量的数据类型包含一个位,BYTE、WORD、DWORD型变量分别包DWORD,CHAR 含8、16和32位。在这些数据类型中不按位方式来处理。 这些数据类型的特殊形式是BCD数,它们是计数功能