15.第十五讲 时钟和运算指令.ppt
文本预览下载声明
第十五讲 时钟和运算指令 掌握时钟指令的用法 掌握运算指令的用法 一、时钟指令 利用时钟指令可以用程序实现调用系统实时时钟。 时钟操作有两种:读实时时钟和设定实时时钟。 1.读实时时钟TODR 当使能输入有效时,系统读当前时间和日期,并把它装入一个8字节的缓冲区。操作数T用来指定8字节缓冲区的起始地址。 2.写实时时钟TODW 用来设定实时时钟。当使能输入有效时,系统将包含当前时间和日期的一个8字节的缓冲区将装入时钟。操作数T用来指定8字节缓冲区的起始地址。 时钟指令注意事项 所有日期和时间的值用BCD码表示 系统不检查和核实时钟各量的正确与否,所以务必确保输入的数据是正确的。例如,2月30日虽是错误的,但仍可以被系统接受。 不能同时在主程序和中断程序中使用读写实时时钟指令,否则,产生非致命错误。 时钟指令例题 1、读出当前时间,存储在以VB0为起始地址的区域中。 2、将时间设定为09/12/23 16:10:23 星期四 说明:实时时钟设置指令一般很少使用,因为可以通过编程软件下的PLC——实时时钟,选项进行设置。 应用举例: 有某设备,预热时间需要30分钟,员工每天8点上班,所要在7:30分开动设备预热。就可以使用读实时时钟指令。 二、数学运算指令 整数加减法(ADD_I SUB_I) 输入、输出均为16位整数。 双整数加减法(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指令(也称自增或自减) 对输入的数据进行自动增加或减小一个单元的操作,数据长度可以是字节、字或双字 浮点数运算指令(带小数位的计算) 实数加减法 输入输出均为32位实数 结果需要和特殊存储器位SM1.0(零)SM1.1(溢出)和SM1.2(负)配合使用。 数学函数指令 平方根 三角函数 正弦、余弦、正切 输入为弧度 自然对数 对输入的数据计算以e为底的对数 如何计算以10为底的对数? 自然指数 对输入的数据计算以e为底的指数 如何计算任意输入的任意次幂? 运算输入输出数据都为实数。结果如果大于32位二进制数表示的范围,则产生溢出。 平方根(SQRT)指令:对32位实数(IN)取平方根,并产生一个32位实数结果(OUT),如以下等式所示: 自然对数(LN)指令对IN中的数值进行自然对数计算,并将结果置于OUT中。 例:食品加工厂对饮料生产线上的盒装饮料进行计数。每24盒为一箱,要求能记录生产的箱数。 例:食品加工厂对饮料生产线上的盒装饮料进行计数。每24盒为一箱,要求能记录生产的箱数。 计算CTAN(40度)_余切 1、将角度转换为弧度40*PI/180 2、 求6 的5次方,结果放到AC0中。 求6的5次方,结果放到AC0中。 求以10为底的50的常用对数,结果放在AC0中。 用模拟电位器调节定时器T37的设定值为5~20秒 T37为100ms定时器,5s对应的设定值为50,20s对应的设定值为200。 模拟电位器的数字范围为0~255,因此可以用下式描述模拟电位器和设定值之间的对应关系 三、逻辑运算指令 逻辑运算对逻辑数(无符号数)进行处理 按运算性质包括逻辑与、逻辑或、逻辑异或、取反等 按参与运算的操作数的长度可以分为字节、字和双字逻辑运算操作。 字节按位取反 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位是否同时有键按下? 西门子S7-200PLC培训教程 - 杨 青 0-7 0 00-59 00-59 00-23 01-31 01-12 00-99 范围 星期 0 秒 分钟 小时 日 月 年 念义 T+7 T+6 T+5 T+4 T+3 T+2 T+1 T 字节 整数运算指令(不带小数位的计算) 字节加1 字加1
显示全部