S0的指令ppt课件.ppt_第1页
S0的指令ppt课件.ppt_第2页
S0的指令ppt课件.ppt_第3页
S0的指令ppt课件.ppt_第4页
S0的指令ppt课件.ppt_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

第5章S7 1200的指令 1 5 1数据处理指令 5 1 1比较指令 2 1 比较指令2 范围内与范围外比较指令 3 例5 1用接通延时定时器和比较指令组成占空比可调的脉冲发生器 4 3 OK与NOT OK指令 5 5 1 2使能输入和使能输出1 BCD码 BCD Binary codedDecimal 是二进制编码的十进制数的缩写 BCD码用4位二进制数表示一位十进制数 每一位BCD码允许的数值范围为2 0000 2 1001 对应于十进制数0 9 4位二进制数共有16种组合 有6种组合 2 1010 2 1111 没有在BCD码中使用 BCD码的最高位二进制数用来表示符号 负数为 正数为0 一般令负数和正数的最高4位二进制数分别为1111和0000 16位BCD码的范围为999十999 32位BCD码的范围为 999999 9999999 862 6 拨码开关 译码芯片 PLC的四个输出点后接一个译码芯片 用PLC的输入点读取拨码开关的输出 7 2 EN与ENO 令MW32 F983 则输出MW34 983下列指令使用EN ENO 数学运算指令 传送与转换指令 位移与循环指令 字逻辑运算指令等 下列指令不使用EN ENO 位逻辑指令 比较指令 计数器指令 定时器指令和程序控制指令 8 5 1 3数据转换指令 1 CONV指令 2 浮点数转换为双整数指令 3 SCAL X指令OUT VALUE MAX MIN MIN例如 如果MAX 1000 MIN 200 则0 4 520 1 2 1160 4 NORM X指令OUT VALUE MIN MAX MIN 9 5 1 4数据传送指令 1 MOV指令 输入输出数据类型可以不一样 如 MB0 MW2低字节中 MW4 MB6 但是如果MW4超过255 则只传送低字节中的数值 2 SWAP指令IN和OUT为数据类型Word时 SWAP指令交换输入IN的高 低字节后 保存到OUT指定的地址 IN和OUT为数据类型Dword时 交换 个字节中数据的顺序 交换后保存到OUT指定的地址 如 16 AABBCCDD 16 DDCCBBAA 10 3 全局数据块和数组数组由相同数据类型的多个元素组成 数组元素的数据类型可以是所有的基本数据类型 全局数据块的生成方法 演示 11 4 FILL BLK与UFILL BLK指令FILLBLK指令将输入参数取设置的值填充到输出参数OUT指定起始地址的目标数据区 IN和OUT必须是D L 数据块或块的局部数据 中的数组元素 IN还可以是常数 COUNT为填充的数组元素的个数 数据类型为DInt或常数 5 MOVE BLK与UMOVE BLK指令 6 块填充和快传送指令的实验 演示 12 5 1 5位移与循环位移指令 1 位移指令移位指令SHR和SHL将输入参数IN指定的存储单元的整个内容逐位右移或左移若干位 移位的位数用输入参数N来定义 移位的结果保存在输出参数OUT指定的地址 无符号数移位和有符号数左移后空出来的位用0填充 有符号数右移后空出来的位用符号位 原来的最高位 填充 正数的符号位为0 节负数的符号位为1 13 2 循环移位指令循环移位指令ROR和ROL将输入参数IN指定的存储单元的整个内容逐位循环右移或循环左移若干位 即移出来的位又送回存储单元另一端空出来的位 原始的位不会丢失 N为移位的位数 移位的结果保存在输出参数OUT指定的地址 14 3 使用循环移位指令的彩灯控制器 15 5 2数学运算指令5 2 1数学运算指令数学运算包括数学运算指令 浮点数函数运算指令 逻辑运算指令 1 四则运算指令 16 数学运算指令中的ADD SUB MUL和DIV分别是加 减 乘 除指令 它们执行的操作数的数据类型可选SInt Int DInt USInt UInt UDInt和Real IN1和IN2可以是常数 IN1 IN2和OUT的数据类型应该相同 17 例 压力变送器的量程为0 10MPa 输出信号为0 10V 被CPU集成的模拟量输入的通道0 地址为IW64 转换为0 27648的数字 假设转换后的数字为N 试求以kPa为单位的压力值 解 0 10MPa 0 10000kPa 对应于转换后的数字0 27648 转换公式为P 10000 N 27648 kPa 注意 在运算时一定要先乘后除 否则会损失原始数据的精度 18 19 例 使用浮点数运算计算上例以kPa为单位的压力值 将上例改写为 p 10000 xN 27648 0 361690XN kPa 20 2 其它整数数学运算指令 1 MOD指令用MOD指令来求除法的余数 2 NEG指令NEG negation 将输入IN的值的符号取反后 保存在输出OUT中 IN和OUT的数据类型可以是SInt Int DInt和Real 输入IN还可以是常数 3 INC与DEC指令执行指令INC与DEC时 参数IN OUT的值分别被加1和减1 IN OUT的数据类型可选SInt USInt Int UInt DInt和UDInt 有符号或无符号的整数 21 4 绝对值指令ABSABS指令用来求输入IN中的有符号整数 SInt Int宁DInt或实数 Real 的绝对值 将结果保存在输出OUT中 IN和OUT的数据类型应相同 5 MIN与MAX指令MIN minimum 指令比较输入IN1和IN2的值 将其中较小的值送给输出OUT MAX maximum 指令比较输入IN1和IN2的值 将其中较大的值送给输出OUT INI和IN2的数据类型相同才能执行指定的操作 22 6 LIMIT指令LIMIT指令检查输入IN的值是否在参数MIN和MAX指定的范围内 如果IN的值没有超出该范围 将它直接保存在OUT指定的地址中 如果IN的值小于MIN的值或大于MAX的值 将MIN或MAX的值送给输出OUT 23 3 浮点数函数运算指令浮点数 实数 数学运算指令的操作数IN和OUT的数据类型为Real 浮点数自然指数指令EXP和浮点数自然对数指令LN中的指数和对数的底数为2 71828 浮点数开平方指令SQRT和LN指令的输入值如果小于0 输出OUT返回一个无效的浮点数 浮点数三角函数指令和反三角函数指令中的角度均为以弧度为单位的浮点数 如果输入值是以度为单位的浮点数 使用三角函数指令之前应先将角度值乘以 180 0 转换为弧度值 浮点数反正弦函数指令ASIN和浮点数反余弦函数指令ACOS的输入值的允许范围为 1 0 1 0 ASIN和ATAN的运算结果的取值范围为 2 2弧度 ACOS的运算结果的取值范围为0 弧度 求以10为底的对数时 需要将自然对数值除以2 302585 10的自然对数值 例如 lg100 ln100 2 302585 4 605170 2 302585 2 24 25 26 例 测量远处物体的高度时 已知被测物体到测量点的距离L和以度为单位的夹角 求被测物体的高度H H Ltan 角度的单位为度 假设以度为单位的实数角度值在MD116 乘以 180 0 0174533得角度的弧度值 运算的中间结果保存在数据类型为Real的临时局部变量Tempt中 L的实数值在MD128 运算结果在MD132 27 5 2 2逻辑运算指令1 逻辑运算指令逻辑运算指令对两个输入IN1和IN2逐位进行逻辑运算 逻辑运算的结果存放在输出OUT指定的地址 与 AND 运算时两个操作数的同一位如果均为1 运算结果的对应位为1 否则为0 或 OR 运算时两个操作数的同一位如果均为0 运算结果的对应位为0 否则为1 28 异或 XOR 运算时两个操作数的同一位如果不相同 运算结果的对应位为1 否则为0 以上指令的操作数IN1 IN2和OUT的数据类型为十六进制的Byte Word和Dword 取反指令INV将输入IN中的二进制整数逐位取反 即各位的二进制数由0变1 由1变0 运算结果存放在输出OUT指定的地址 29 解码与编码指令假设输入参数IN的值为 解码 译码 指令DECO Deode 将输出参数OUT的第 位置位为 其余各位置0 相当于数字电路中译码电路的功能 利用解码指令 可以用输入IN的值来控制OUT中某一位的状态 如果输入IN的值大于31 将取的值除以32以后 用余数来进行解码操作 IN的数据类型为UInt OUT的数据类型可选 yte Word和 Word IN的值为 7 位二进制数 时 输出 的数据类型为 位的字节 IN的值为 15 位二进制数 时 输出OUT的数据类型为16位的字 IN的值为 31 位二进制数 时 输出OUT的数据类型为 位的双字 例如IN的值为 时 输出为 16 20 仅第 位为 30 编码指令ENCO Ericode 与解码指令相反 将IN中为 的最低位的位数送给输出参数OUT指定的地址 IN的数据类型可选Byte Word和Dword OUT的数据类型为INT 31 SEL与MUX指令指令SEL Select 的Bool输入参数 为 时选中IN0 为 时选中IN1 并将它们保存到输出参数OUT指定的地址 指令MUX Multiplex 多路开关选择器 根据输入参数 的值 选中某个输入数据 并将它传送到输出参数OUT指定的地址 如 时 将选中输入参数INm 如果 的值超过允许的范围 将选中输入参数ELSE 参数 的数据类型为Uint Inn ELSE OUT可以取12种数据类型 它们的数据类型应相同 32 5 3程序控制指令5 3 1程序控制指令1 跳转与标签指令没有执行跳转指令时 各个程序段按从上到下的先后顺序执行 这种执行方式称为线性扫描 JMP跳转指令中止程序的线性扫描跳转到指令中的地址标签所在的目的地址 跳转时不执行跳转指令与标签之间的程序 跳到目的地址后 程序继续按线性扫描的方式顺序执行 跳转指令可以往前跳 也可以往后跳 只能在同一个代码块内跳转 即跳转指令与对应的跳转目的地址应在同一个代码块内 在一个块内 同一个跳转目的地址只能出现一次 JMPN指令的线圈断电时 将跳转到指令给出的标签处 执行标签之后的第一条指令 33 2 返回指令RETRET指令的线圈通电时 停止执行当前的块 不再执行该指令后面的指令 返回调用它的块后 执行调用指令之后的指令 RET指令的线圈断电时 继续执行它下面的指令 RET线圈的上面是块的返回值 数据类型为Bool 如果当前的块是OB 返回值被忽视 34 5 3 2扩展指令中的程序控制指令 1 RE TRIGR指令监控定时器又称看门狗 Watchdog 每次扫描循环它都被自动复位一次 正常工作时最大扫描循环时间小于监控定时器的时间设定值 它不会起作 以下情况扫描循环时间可能大于监控定时器的设定时间 监控定时器将会起作用 1 用户程序很长 2 一个扫描循环内执行中断程序的时间很长 3 循环指令执行的时间太长 可以在程序中的任意位置使用指令RE TRIGR 重新触发循环时间监视 来复位监控定时器 35 2 STP指令STP指令的EN输入为1状态时 使PLC进入STOP模式 STP指令使CPU集成的输出 信号板和信号模块的数字量输出或模拟量输出进入组态时设置的安全状态 可以使输出冻结在最后的状态 或用替代值设置为安全状态 默认的数字量输出状态为FALSE 默认的模拟量输出值为0 3 GET ERROR与GET ERR ID指令GET ERROR指令用来提供有关程序块执行错误的信息 用输出参数ERROR显示发生的程序块执行错误 并且将详细的错误信息填入预定义的ErrorStruct 错误结构 数据类型 可以用程序来分析错误信息 并作出适当的响应 第一个错误消失时 指令输出下一个错误的信息 GET ERR ID指令用来报告错误的ID 标识符 如果块执行时出现错误 且指令的EN输入为1状态 出现的第一个错误的标识符保存在指令的输出参数 ID 中 ID的数据类型为Word 第一个错误消失时 指令输出下一个错误的ID 36 4 ErrorStruct数据类型 37 38 39 5 4字符串指令5 4 1字符串转换指令1 字符串的结构STRING 字符串 数据有2B的头部 后面是最多254B的ASCII字符代码 字符串的首字节是字符串的最大长度 第2个字节是当前长度 即当前实际使用的字符数 当前长度必须小于等于最大长度 字符串占用的字节数为最大长度加2 字符串默认的最大长度为254个字符 定义字符串的长度可以减少它占用的存储空间 2 定义字符串执行字符串指令之前 首先应定义字符串 不能在变量表中定义字符串 只能在代码块的界面区或全局数据块中定义它 40 3 使用S CONV指令将字符串转换为数值S CONY指令用于将输入的字符串转换为对应的数值 或将数值转换为对应的字符串 需要在指令方框中设置转换前后的操作数IN和OUT的数据类型 使用S CONV将字符串转换为数值时 输入参数取的数据类型为String 输出参数OUT的数据类型可以是SInt Int DInt USInt Uintl UDInt和Real 允许转换的字符包括0 9 加减号和小数点对应的字符 字符串IN的转换从第一个字符开始 直到最后一个字符 如果遇到允许的字符之外的字符 转换停止 ENO被设置为0 转换后的数值用参数OUT指定的地址保存 如果输出的数值超出OUT的数据类型允许的范围 OUT为0 ENO被置为0状态 反之 OUT内为有效的值 ENO被置为1状态 41 输入字符串的格式规则 1 如果字符串IN使用了十进制数的小数点 应使用字符 2 允许使用分隔每3位十进制数的逗号字符 转换时忽略它 3 忽略字符前面的空格 4 只支持定点表示法 不会将字符e和E视为指数计数法 使用S CONY指令将数值转换为字符串可以用指令S CONY将参数IN指定的整数 无符号整数或浮点数转换为输出OUT对应的字符串 转换执行之前 应定义参数OUT指定的字符串 输入数据值可以是有符号和无符号的整数以及实数 各种数据类型需要的最大的字符串长度 42 输出字符串的格式规则如下 1 输出的正数没有符号位 字符串IN的十进制数小数点使用字符 2 只支持定点表示法 不使用指数计数法 3 参数IN为数据类型Real时 使用英支的句号作十进制数的小数点 5 复制字符串如果S CONV指令输入 输出的数据类型均为String 输入IN指定的字符串将复制到输出OUT指定的地址 如果字符串IN的实际长度超过了字符串OUT的最大长度 只复制OUT允许的部分 ENO将被设置为0状态 6 使用STRG VAL指令将字符串转换为数值STRG VAL指令将数值字符串转换为对应的整数或浮点数 从参数IN指定的字符串的第P个字符开始转换 直到字符串结束 允许的字符包括数字0 9 加减号 英语的逗号或小数点 字符e和E 遇到非法的字符时将停止转换 ENO被设置为0 43 表示 从字符串 ZZ 的第第P个字符开始转换 输出MD164中的数值用定点数表示法 用英文的句号做小数点 参数P是要转换的第一个字符的编号 其参数类型为IN OUT 数据类型为Ulnt P为1时 从字符串的第一个字符开始转换 参数FORMAT是输出格式选项 数据类型为Word 第0位r为1和0时分别为指数表示法和定点数表示法 第1位f为1和0时 分别用英语的逗号和句号作十进制数的小数点 高位为0 44 STRG VAL指令的转换规则 1 如果使用英语的句号作十进制数的小数点 允许使用英语的逗号作分隔每3位十进制数的字符 转换时忽略它 2 忽略字符前面的空格 7 使用VAL STRG指令将数值转换为字符串VAL STRG将输入参数IN中的整数 无符号整数或浮点数转换为输出参数OUT中对应的字符串 被转换的字符串将取代OUT字符串从参数P提供的字符偏移量开始 到参数SIZE指定的字符数结束的字符 如果参数P和SIZE指定的替代字符超过OUT允许的最大字符数的范围 ENO为0状态 如果输出值小于指定的长度 写入字符串的字符采用 右对齐 的方式 字符左边空出来的位添加空格字符 45 7 使用VAL STRG指令将数值转换为字符串允许的字符包括数字 0 9 加减号 英语的逗号或小数点 字符e和E 遇到非法的字符时将停止转换 ENO被设置为0 参数FORMAT的数据类型 第0位r和第1位f的意义与指令STRG VAL的相同 第2位s是符号字符 为1和为0时 分别对应于符易字符 和 参数PREC用来设置精度或字符串的小数部分的位数 如果参数IN的值为整数 PREC指定小数点的位置 实数类型支持最高精度为7位有效数字 例如 数据值为12345和PREC为2时 转换结果为字符串 123 45 46 5 4 2字符串指令LEN指令 求字符串长度 指令LE 用输出参数OUT 整数 提供输入参数IN指定的字符串的当前长度 空字符串 的长度为0 2 CONCAT指令 合并字符串 指令CONCAT将输入参数IN1和IN2指定的两个字符串连接在一起 然后用参数OUT输出连接后的字符串 合并后字符串IN1和IN2分别是连接后的字符串的左部分和右部分 如果连接后的字符串的长度大于允许的最大长度 则将它限制在最大长度 并将ENO设置为0 47 3 LEFT指令 左子字符串 指令LEFT 用参数OUT指定的字符串来输出参数IN指定的字符串的前L个字符 L的数据类型为Int 执行图中的LEFT指令后 输出OUT中是IN输入的字符串左边的 个字符 4 RIGHT指令 右子字符串 指令RIGHT用参数OUT指定的字符串输出字符串IN的最后L个字符 L的数据类型为Int 执行图中的RIGHT指令后 输出OUT中是IN输入的字符串右边的4个字符 48 5 MID指令 提供字符串的中间部分 指令MID用参数OUT指定的字符串输出字符串IN从第P个字符开始的 个字符 执行图中的MID指令后 输出OUT中是IN输入的字符串从第 个字符开始的中间 个字符 6 DELETE指令 删除子字符串 指令DELETE从字符串加中第 个字符开始 删除L个字符 参数OUT输出剩余的子字符串 执行图中的DELETE指令后 IN输入的字符串被删除从第3个字符开始的2个字符后 然后输出到OUT指定的字符串 49 7 INSERT指令 插入字符串 指令INSERT将字符串IN2插入到字符串INl中第P个字符之后 执行图中的INSERT指令后 IN2指定的字符串 ABC 被插入到INI指定的字符串 abode 第 个字符之后 8 REPLACE指令 子字符串替换 指令REPLACE用字符串IN2替换字符串INl中从字符位置P开始的L个字符 替换的结果用参数OUT输出 执行图中的REPLACE指令后 字符串INl中从第3个字符开始的3个字符 CDE 被IN2指定的字符串 1234 代替 9 FIND指令 查找子字符串 指令FIND提供字符串IN2在字符串IM中的位置 查找从字符串IN1的左侧开始 输出参数OUT 整数 返回第一次出现字符串IN2的位置 如果在字符串IN1中未找到字符串IN2 则返回零 执行图中的FIND指令后 查找到IN2指定的字符串 DEF 从IN1指定的字符串 ABCDEFGHP 的第4个字符开始 50 5 5高速脉冲输出与高速计数器5 5 1高速脉冲输出脉冲宽度与脉冲周期之比称为占空比 脉冲列输出 PTO 功能提供占空比为50 的方波脉冲列输出 脉冲宽度调制 PWM 功能提供连续的 脉冲宽度可以用程序控制的脉冲列输出 每个CPU有两个PTO PWM发生器 分别通过CPU集成的QO O Q0 3或信号板上的Q4 0 Q4 3输出PTO或PWM脉冲 51 2 PWM的组态PWM功能提供可变占空比的脉冲输出 时间基准可以设置为us或ms 脉冲宽度为0时占空比为0 没有脉冲输出 输出一直为0状态 脉冲宽度等于脉冲周期时 占空比为100 没有脉冲输出 输出一直为1状态 PWM的高频输出波形经滤波后得到与占空比成正比的模拟量输出电压 可以用来控制变频器的转速和阀门的开度等物理量 使用PWM之前 首先应对脉冲发生器组态 具体步骤 1 打开PLC的设备视图 选中其中的CPU 2 打开下面的巡视窗口的 属性 选项卡 选中左边的 PTO1 PWM1 Pulse1 中的 常规 参数组 用复选框选中右边窗口的复选框 允许使用该脉冲发生器 激活该脉冲发生器 52 3 选中左边窗口的 参数分配 组 在右边的窗口可以设置下列参数 使用 脉冲发生器用作 下拉式列表 可选脉冲发生器为PWM或PTO 使用 输出源 下拉式列表 可选 板载CPU输出 CPU集成的输出点 或 信号板输出 使用 时基 时间基准 下拉式列表 可选毫秒或微秒 使用 脉冲宽度格式 下拉式列表 可选4种脉冲宽度格式 百分数 千分数 0 1000 万分数 0 10000 和S7模拟量格式 0 27648 用输入域 循环时间 设置脉冲的周期为2ms 采用 时基 选择的时间单位 用输入域 初始脉冲宽度 设置脉冲的占空比为50 即脉冲周期为2ms 脉冲宽度为lms 脉冲宽度采用 脉冲宽度格式 设置的单位 百分数 4 选中左边窗口的 IO地址 硬件标识符 参数组 在右边的窗口可以看到PWM1的起始地址 结束地址和硬件标识符 可以修改其起始地址 在运行时用这个地址来修改脉冲宽度 53 PWM的编程将右边的 扩展指令 窗口的文件夹 脉冲 中的CTR卜少WM指令拖放到OB1 点击出现的 调用选项 对话框中的 确定 按钮 生成该指令的背景数据块 点击参数PWM左边的问号 再点击出现的按钮 用下拉式列表选中 Pulse 1 其硬件标识符 HWID 为9 IN输入信号为1状态时 用参数ENABLE 10 4 来启动或停止脉冲发生器 用PWM1的输出地址来修改脉冲宽度 6 5 2编码器高速计数器一般与增量式编码器一起使用 后者每圈发出一定数量的计数脉冲和一个复位脉冲 作为高速计数器的输入 54 编码器有以下几种类型 1 增量式编码器光电增量式编码器的码盘上有均匀刻制的光栅考码盘旋转时 输出与转角的增量成正比的脉冲 需要用计数器来计脉冲数 有3种增量式编码器 1 单通道增量式编码器内部只有1对光耦合器 只能产生一个脉冲列 2 双通道增量式编码器又称为A B一相型编码器内部有两对光耦合器 输出相位差为900的两组独立脉冲列 正转和反转时两路脉冲的超前 滞后关系相反 如果使用A B相型编码器 PLC可以识别出转轴旋转的方向 正转 反转 55 A B相正交计数可以选择 倍速模式和4倍速模式 1倍速模式在时钟脉冲的每一个周期计 一次数 倍速模式在对钟脉冲的每一个周期计4次数 1倍速正交模式操作举例4倍速正交模式操作举例 56 3 三通道增量式编码器内部除了有双通道增量式编码器的两对光耦合器外 在脉冲码盘的另外一个通道内还有一个透光段 每转 圈输出一个脉冲 该脉冲称为 相零位脉冲 用于系统清零信号 或作为坐标的原点 以减少测量的积累误差 绝对式编码器N位绝对式编码器有 个码道 最外层的码道对应于编码的最低位 每一丫码道有一个光耦合器 用来读取该码道的0 数据 绝对式编码器输出的 位二进制数反映了运动物体所处的绝对位置 根据位置的变化情况 可以判别出旋转的方向 57 5 5 3高速计数器 高速计数器的功能S7 1200PLC集成有 个高速计数器 HSC HSC1 HSC3的最高计数频率为100KHz CPU1211C可以使用HSC1 HSC3 CPU1212C可以使用HSC1 HSC4 使用信号板DI2 DO2后 它们还可以使用HSC5 CPU1212C可以使用HSC1 HSC6 在用户程序使用HSC之前 应为HSC组态 设置HSC的计数模式 大多数HSC的参数只能在项目的设备组态中设置 某些HSC的参数在设备组态中初始化 以后可以用程序来修改 HSC有 种工作模式 内部方向控制的单相计数器 外部方向控制的单相计数器 两路计数脉冲输入的计数器和A 相计数器 高速计数器有两种功能 频率测量功能和计数功能 58 高速计数器使用的输入点表给出了用于高速计数器的计数脉冲 方向控制和复位的输入点的地址 同一个输入点不能同时用于两种不同的功能 但是高速计数器当前模式未使用的输入点可以用于其他功能 高速计数器的输入点 59 HSC1和HSC2可以分别用来监视脉冲列输出PTO1和PTO2 HSC1 HSC6的实际计数的数据类型为Dint 默认地址为ID1000 ID1020 可以在组态时修改地址 3 高速计数器的组态步骤1 打开PLC的设备视图 选中其中的CPU 2 选中巡视窗口的 属性 选项卡左边的高速计数器HSC1的 常规 参数组 用复选框选中 允许使用该高速计数器 激活该HSC 如果激活了脉冲发生器PTO1或PT02 它们分别使用HSC1和HSC2的 运动轴 模式 来监视硬件输出 如果组态HSC1或HSC2用于其他任务 它们不能被脉冲发生器PTO1或PT02使用 3 选中左边的 功能 参数组 在右边的窗口可以设置参数 4 选中窗口的 重置为初始值 参数组 可以设置 初始计数器值 和 初始参考值 60 5 选中窗口的设置高速计数器的初始值与复位信号 事件组态 参数组 可以用右边窗口的复选框激活下列事件出现时是否产生中断 计数值等于参考值 出现外部复位事件和出现计数方向变化事件 6 选中窗口的 硬件输入 参数组 可以看到该HSC使用的硬件输入点和可用的最高频率 7 选中窗口的 I O地址 标识符参数组 可以在右边窗口修改HSC的起始地址 5 5 4高速脉冲输出与高速计数器的计数实验1 实验的基本要求用高速脉冲输出功能产生周期为2ms 占空比为50 的PWM脉冲列 送给高速计数器HSC1计数 通过设置不同的参考值 在计数值分别为2000 3000和1500时产生中断 在中断程序中修改计数值 参考值和计数方向 同时改变Q0 4 Q0 6的状态 61 2 硬件接线 高速计数器的实际计数值波形图硬件接线图 62 3 PWM的组态和编程组态PTO1 PWMl产生PWM脉冲 输出源为信号板上的输出点 时间单位为ms 脉冲宽度的格式为百分数 脉冲的周期为2ms 初始脉冲宽度为50 在OB1中调用CTRL PWM指令 用10 4启动脉冲发生器 4 高速计数器的组态组态时设置HSC1的工作方式为单相脉冲计数 使用CPU集成的输入点10 0 通过用户程序改变计数的方向 设置HSC的初始状态为加计数 初始计数值为0 初始计数参考值为2000 出现计数值等于参考值的事件时 调用硬件中断组织块OB200 HSC默认的地址为ID1000 在运行时可以用该地址监视HSC的计数 5 高速计数器控制指令CTRL HSC是高速计数器控制指令 输入参数HSC为高速计数器的硬件标识符 HWID EN为1时 参数BUSY为1 STATUS是执行指令的状态代码 DIR为1时 计数方向NEW DIR被装载 CV为1时 32位计数值NEW CV被装载到HSC 63 64 65 66 67 68 69 70 71 72 73 74 5 5 5用高速计数器测量频率的实验1 项目简介在STEP7Basic中生成项目 频率测量例程 CPU为继电器输出的CPU1215C 为了输出高频脉冲 使用了一块2DI 2D0信号板 用信号板的输出点Q4 0发出PWM脉冲 送给HSC1的高速脉冲输入点10 0测量频率 2 PWM的组态与编程打开PLC的设备视图 选中其中的CPU 打开下面的巡视窗口的 属性 选项卡 选中左边的PTO1 PWMl Pulse 1 文件夹中的 常规 选中右边窗口的复选框 允许使用该脉冲发生器 高速计数器的组态设置HSCI的工作方式为 频率 频率测量 使用CPU集成的输入点10 0 在组态时设置HSC的初始状态为加计数 频率测量周期为1 0s HSCI默认的地址为ID1000 在运行时可以用该地址监视HSC的频率测量值 75 76 5 6其它指令与库5 6 1实时时钟指令打开在线与诊断视图 可以设置实时时钟的时间值 也可以用时钟指令来读 写实时时钟 1 日期时间的数据类型1 数据类型Time的长度为4B 取值范围为T 24d 20h 31m 23S 648ms T 24d 20h 31m 23s 647m

温馨提示

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

评论

0/150

提交评论