1、-杨 青掌握时钟指令的用法掌握运算指令的用法利用时钟指令可以用程序实现调用系统实时时钟。时钟操作有两种:读实时时钟和设定实时时钟。1.读实时时钟TODR 当使能输入有效时,系统读当前时间和日期,并把它装入一个8字节的缓冲区。操作数T用来指定8字节缓冲区的起始地址。2.写实时时钟TODW 用来设定实时时钟。当使能输入有效时,系统将包含当前时间和日期的一个8字节的缓冲区将装入时钟。操作数T用来指定8字节缓冲区的起始地址。字节TT+1T+2T+3T+4T+5T+6T+7念义年月日小时分钟秒0星期范围00-9901-1201-3100-2300-5900-5900-7时钟指令注意事项 所有日期和时间的
2、值用BCD码表示 系统不检查和核实时钟各量的正确与否,所以务必确保输入的数据是正确的。例如,2月30日虽是错误的,但仍可以被系统接受。不能同时在主程序和中断程序中使用读写实时时钟指令,否则,产生非致命错误。时钟指令例题 1、读出当前时间,存储在以VB0为起始地址的区域中。2、将时间设定为09/12/23 16:10:23 星期四说明:实时时钟设置指令一般很少使用,因为可以通过编程软件下的PLC实时时钟,选项进行设置。应用举例:有某设备,预热时间需要30分钟,员工每天8点上班,所要在7:30分开动设备预热。就可以使用读实时时钟指令。整数加减法(ADD_I SUB_I)输入、输出均为16位整数。双
3、整数加减法(ADD_DI SUB_DI)输入、输出均为32位整数。整数乘除法(MUL_I DIV_I)输入、输出均为16位整数,除法不保留余数整数运算指令(不带小数位的计算)双整数乘除法(MUL_DI DIV_DI)输入、输出均为32位整数,除法不保留余数 整数乘除法生成双整数(MUL DIV)输入为16位整数,输出为32位。除法结果的高16位为余数,低16位为商。结果需要和特殊存储位SM1.0(零)SM1.1(溢出)SM1.2(负)SM1.3(除数为0)配合使用。加1减1指令(也称自增或自减)对输入的数据进行自动增加或减小一个单元的操作,数据长度可以是字节、字或双字字节加1字加1双字加1字节
4、减1字减1双字减1浮点数运算指令(带小数位的计算)实数加减法 输入输出均为32位实数 结果需要和特殊存储器位SM1.0(零)SM1.1(溢出)和SM1.2(负)配合使用。实数乘除法*R:将两个32位实数相乘,并产生一个32位实数结果/R:将两个32位实数相除,并产生一个32位实数结果SM1.0 零结果SM1.1 溢出SM1.2 负结果SM1.3 除数为0数学函数指令 平方根 三角函数 正弦、余弦、正切 输入为弧度 自然对数 对输入的数据计算以e为底的对数 如何计算以10为底的对数?自然指数 对输入的数据计算以e为底的指数 如何计算任意输入的任意次幂?运算输入输出数据都为实数。结果如果大于32位
5、二进制数表示的范围,则产生溢出。平方根(SQRT)指令:对32位实数(IN)取平方根,并产生一个32位实数结果(OUT),如以下等式所示:INOUT 正弦(SIN)指令:对角度值IN进行三角运算,并将结果放置在OUT中。输入角以弧度为单位。欲将输入角从角度转换成弧度,用角度乘以1.745329E-2(约等于/180)。SM1.1用于指示溢出错误和非法数值。如果设置SM1.1,则SM1.0和SM1.2状态无效,且原来的输入操作数不改动。如果未设置SM1.3,则数学操作完成,并产生有效的结果,且SM1.0和SM1.2包含有效状态余弦(COS)指令:对角度值IN进行三角运算,并将结果放置在OUT中。
6、输入角以弧度为单位。正切(TAN)指令:对角度值IN进行三角运算,并将结果放置在OUT中。输入角以弧度为单位。特殊内存位:SM1.0 零结果SM1.1 溢出SM1.2 负结果自然对数(LN)指令对IN中的数值进行自然对数计算,并将结果置于OUT中。要从自然对数获得以10为底数的对数,用自然对数除以2.302585(约等于10的自然对数)。自然指数(EXP)指令进行e的IN次方指数计算,并将结果置于OUT中。如果要得到X的Y次幂,输入以下指令:EXP(Y*LN(X)。举例:5的立方=53=EXP(3*LN(5)=125125的立方根=125(1/3)=EXP(1/3)*LN(125)=55的立方
7、的平方根=5(3/2)=EXP(3/2*LN(5)=11.18034例:食品加工厂对饮料生产线上的盒装饮料进行计数。每24盒为一箱,要求能记录生产的箱数。例:食品加工厂对饮料生产线上的盒装饮料进行计数。每24盒为一箱,要求能记录生产的箱数。计算CTAN(40度)_余切 1、将角度转换为弧度40*PI/180 2、)40(/)40()40(oooSINCOSCTAN求6 的5次方,结果放到AC0中。)(*(XLNYEXPXy)6ln*5exp()6exp(ln655求6的5次方,结果放到AC0中。)(*(XLNYEXPXy求以10为底的50的常用对数,结果放在AC0中。10ln/50lnlog5
8、010用模拟电位器调节定时器T37的设定值为520秒 T37为100ms定时器,5s对应的设定值为50,20s对应的设定值为200。模拟电位器的数字范围为0255,因此可以用下式描述模拟电位器和设定值之间的对应关系255/*)50200(50_NpreValueN为模拟电位器的值255/*)50200(50_NpreValue读模拟电位器的值模拟电位器的值X150模拟电位器的值X150/255模拟电位器的值X150/255+50逻辑运算对逻辑数(无符号数)进行处理 按运算性质包括逻辑与、逻辑或、逻辑异或、取反等 按参与运算的操作数的长度可以分为字节、字和双字逻辑运算操作。字节按位取反 IN:0110 1100 OUT:1001 0011字节按位与 对两个输入数值(IN1和IN2)的对应位执行AND(与运算)操作,并在内存位置(OUT)中载入结果 IN1:1100 0011 IN2:1011 0111 OUT:1000 0011字节按位或 IN1:1100 0011 IN2:1011 0111 OUT:1111 0111字节按位异或(相同为0不同为1)IN1:1100 0011 IN2:1011 0111 OUT:0111 0100例:判断IW0输入口的第2、5、8、13、14位是否同时有键按下?