版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数学运算指令及应用1.加减法指令
加法ADD指令:IN1+IN2=OUT;减法SUB指令:IN1-IN2=OUT。用法区别:ADD指令的IN参数可以增加,SUB不可以。
运算的数据类型可选整数、浮点数和常数;IN1、IN2和OUT数据类型要相同。
2.乘除法指令
乘法MUL指令:IN1*IN2=OUT;除法DIV指令:IN1/IN2=OUT。用法区别:MUL指令的IN参数可以增加,DIV不可以。
IN1、IN2和OUT数据类型要相同,除法指令进行整数运算时,结果取整。例:
压力变送器的量程为0~10MPa,输出信号为0~10V,被CPU集成的模拟通道0(地址为IW64)转换为0~27648的数字。假设转换后的数字为N,试求以kPa为单位的压力值。0~10MPa(0~1000kPa)对应于转换后的数字0~27648,转换公式为:P=(10000*N)/27648(kPa),先乘后除可以保证原始数据的精度。估计先进行乘法运算的结果可能较大,运算的数据类型选择双整数(DInt),所以要将IW64转换为DInt。分析结果2.乘除法指令”#Temp_1
“为在OB1块接口区定义的临时变量,用于保存中间运算结果,数据类型为双整数。除法运算后的结果不超过16位正整数,所以存储在MD12的低位字MW14中,高字MW12为0。2.乘除法指令3.返回除法的余数指令
“返回除法的余数”指令MOD用于求各种整数除法的余数,IN1/IN2的余数存储于OUT中。
图中,比较整数”除法“和”返回除法的余数“运算,MW28中存储的数据为10;MW30中存储的数据为20。4.INC与DEC指令
执行“递增”指令INC与“递减”指令DEC时,参数IN/OUT的值分别被加1和减1。
IN/OUT的数据类型为各种有符号或无符号的整数。
程序中,INC指令是用来对I1.0动作的次数进行计数的。如果不加P_TRIG指令,在I1.0为1的状态下,每个扫描周期,MW12都会加1。4.INC与DEC指令5.计算指令“计算”指令CALCULATE可以根据所选的数据类型进行复杂的数学运算或逻辑运算。
图中,MD100存储的数据为实数(200.0+35.0)/50.0=4.7
例:已知梯形图的上底a=3cm,下底b=4cm,一斜边c=4cm,且与下底夹角θ=30º,试求该梯形图的面积S,并确定结果是否正确。
要求:通过数学运算指令完成,运算结果正确指示灯点亮,否则不亮。I0.0为启动按钮,Q0.0输出为指示灯L显示。a=3b=4c=430º5.计算指令梯形图程序求正弦函数指令IN为弧度角度值5.计算指令感谢观看主讲:任伟主讲:任伟数学运算指令及应用1.加减法指令
加法ADD指令:IN1+IN2=OUT;减法SUB指令:IN1-IN2=OUT。用法区别:ADD指令的IN参数可以增加,SUB不可以。
运算的数据类型可选整数、浮点数和常数;IN1、IN2和OUT数据类型要相同。
2.乘除法指令
乘法MUL指令:IN1*IN2=OUT;除法DIV指令:IN1/IN2=OUT。用法区别:MUL指令的IN参数可以增加,DIV不可以。
IN1、IN2和OUT数据类型要相同,除法指令进行整数运算时,结果取整。例:
压力变送器的量程为0~10MPa,输出信号为0~10V,被CPU集成的模拟通道0(地址为IW64)转换为0~27648的数字。假设转换后的数字为N,试求以kPa为单位的压力值。0~10MPa(0~1000kPa)对应于转换后的数字0~27648,转换公式为:P=(10000*N)/27648(kPa),先乘后除可以保证原始数据的精度。估计先进行乘法运算的结果可能较大,运算的数据类型选择双整数(DInt),所以要将IW64转换为DInt。分析结果2.乘除法指令”#Temp_1
“为在OB1块接口区定义的临时变量,用于保存中间运算结果,数据类型为双整数。除法运算后的结果不超过16位正整数,所以存储在MD12的低位字MW14中,高字MW12为0。2.乘除法指令3.返回除法的余数指令
“返回除法的余数”指令MOD用于求各种整数除法的余数,IN1/IN2的余数存储于OUT中。
图中,比较整数”除法“和”返回除法的余数“运算,MW28中存储的数据为10;MW30中存储的数据为20。4.INC与DEC指令
执行“递增”指令INC与“递减”指令DEC时,参数IN/OUT的值分别被加1和减1。
IN/OUT的数据类型为各种有符号或无符号的整数。
程序中,INC指令是用来对I1.0动作的次数进行计数的。如果不加P_TRIG指令,在I1.0为1的状态下,每个扫描周期,MW12都会加1。4.INC与DEC指令5.计算指令“计算”指令CALCULATE可以根据所选的数据类型进行复杂的数学运算或逻辑运算。
图中,MD100存储的数据为实数(200.0+35.0)/50.0=4.7
例:已知梯形图的上底a=3cm,下底b=4cm,一斜边c=4cm,且与下底夹角θ=30º,试求该梯形图的面积S,并确定结果是否正确。
要求:通过数学运算指令完成,运算结果正确指示灯点亮,否则不亮。I0.0为启动按钮,Q0.0输出为指示灯L显示。a=3b=4c=430º5.计算指令梯形图程序求正弦函数指令IN为弧度角度值5.计算指令感谢观看主讲:任伟主讲:任伟认识S7-1200PLC的程序结构
123理解S7-1200PLC模块模块化的编程结构掌握组织块、数据块、函数及函数块的生成方法掌握函数和函数块的编程及调用方法
用户程序中包含不同的程序块,各程序块实现的功能不同,S7-1200
CPU支持的程序块类型及功能描述如表所示。程序块描述组织块(OB)由操作系统调用,决定用户程序的结构的代码块。函数块(FB)FB是有“存储区”的代码块。可将值存储在背景数据块中,即使在块执行完后,这些值仍然有效。函数(FC)FC是不带“存储区”的代码块。全局数据块DB用于存储用户的数据区域,供所有代码块访问,其数据格式由用户定义背景数据块DB用于保存相关FB的输入、输出、输入输出和静态变量,其数据在编译时自动生成。
组织块是操作系统(OS)与用户程序的接口,由操作系统OS调用。操作系统在每一个循环中调用主程序。操作系统与主程序的关系如下:
用户程序采用结构化编程,将程序根据任务分层划分,每一层控制程序作为上一层控制任务的子程序,同时调用下一层的子程序,形成嵌套调用。
每个组织块的OB编号是唯一的,默认OB1是主程序,123之前的某些编号是保留的,其它OB的编号应该大于等于123;OB之间不能相互调用,也不能被函数FC和函数块FB调用,只有启动事件,如诊断中断事件或周期性中断事件可以启动OB执行。(1)程序循环组织块:
CPU循环执行操作系统程序,操作系统每个周期调用一次OB1。所有的程序循环OB执行完成后,操作系统再重新调用程序循环OB。S7-1200CPU支持多个程序循环
OB,按编号顺序由小到大依次执行。程序循环OB的优先级为1(最低)且不可修改。(2)启动组织块:
当CPU从STOP切换到RUN模式时,
执行一次启动OB,来初始化程序循环OB中的某些变量。所以用户可以在启动OB中编写初始化程序;可以有多个启动OB,默认的启动OB编号为OB100。
如果有多个启动OB,按照编号顺序由小到大依次执行。多个循环OB多个启动OB(3)中断组织块:
用来实现对特殊内部事件或外部事件的快速响应。出现中断事件,CPU暂停正在执行的程序块,自动调用一个分配给该事件的组织块(即中断程序)来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。
数据块属性的默认状态是“优化的块访问”,如果启用了块属性中的“优化的块访问”,将不能用绝对地址访问数据块和代码块的接口区中的临时局部数据。2
全局数据块必须先定义才能在程序中使用。双击左侧创建的数据块,可以定义数据的名称、类型、启动值及保持值等属性。全局数据块存储的数据能被所有OB、FB、和FC访问。2背景数据块与函数块FB相关联,用于存储FB的输入、输出、输入输出参数及静态变量,其变量只能在FB中定义,不能在背景数据块中直接创建。2
函数FC是用户编写的子程序,用于完成特定任务的程序。FC没有可以存储块接口数据的存储数据区,在FC的接口区可以生成该函数的局部变量,生成的局部变量只能在该块中使用。在调用FC时,需要给FC的形参分配实参。3函数FC的局部变量的作用如表所示。接口类型读写访问描述Input只读调用函数时,将用户程序数据传递到FC中,实参可以为常数Output读写调用函数时,将FC执行结果传递到用户程序中,实参不能为常数InOut读写接收数据后进行运算,然后将执行结果返回,实参不能为常数Temp读写仅在FC调用时生效,用于存储临时中间结果的变量Constant只读声明常量符号名后,FC中可以使用符号名代替常量3
设压力变送器量程的下限为0MPa,上限为HighMPa,经A/D转换后得到0~27648的整数。转换后的数字N和压力P之间的计算公式为P=(High
N)/27648(MPa)
用函数FC1实现上述运算。举例说明:3(1)创建新项目,名称为“压力计算”。(2)添加新设备,型号为CPU1214C。(3)生成函数FC1,名称为“计算压力”。3(4)定义函数局部变量用鼠标右键单击FC1,在属性中去掉“优化的块访问”勾选;在函数的接口区定义变量;单击工具栏中的“编译”按钮,生成变量表中的“偏移量”列。➊➋➌➍➎➏3(5)设计FC1程序➊
用转换指令CONV将参数“#输入数据”接收的A-D转换后的整数(0~27648)转换为实数;➋
用乘法指令MUL求出式子中的(High
N)的值;➌
用除法指令DIV求出P值。➊➋➌3(6)在OB1中调用FC1创建PLC变量:IW64是CPU集成的模拟输入通道0的地址。双击主程序OB1,拖放FC1到OB1程序编辑区;3方框内的参数为形式参数,简称形参,只在FC内部的程序中使用
方框外的参数为实参,调用FC时需要为形参指定实际参数。
FC编程需注意:如果FC接口区参数被修改,必须编译整个程序,并重新定义FC的实参,执行“一致性下载”。如果再FC中没有写入该块的Output参数,则将使用特定数据类型的预定义值。FC的形参只能用符号访问,不能用绝对地址访问。3
FB:与函数FC相比,调用FB时必须为之分配背景数据块,用于存储块的参数值,这些值在FB执行后仍然有效;FB的临时变量不存储在背景数据块中,FB执行后失效。
举例说明:用函数块FB实现对电动机的控制。
具体要求:用输入参数“起动按钮”和“停止按钮”控制InOut参
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省郴州市第十九中学2025届数学三年级下学期期末监测试题(含解析)
- 企业风险管理师掌握风险控制方法指导书
- 大型项目进度延误应对策略预案
- 奉新县仰⼭香坪湖乐活地块项目水土保持方案报告表
- 慈善机构网络筹款与志愿者调度管理方案
- 家用电器行业高品质智能家电技术报告
- 人工智能基础与应用手册
- 远离电子烟危害警惕吸烟危险7年级主题班会课件
- 湖南省衡阳市石鼓区2025届三年级数学第一学期阶段检测试题含解析
- 环保设备销售专员销售效果与服务态度绩效衡量表
- 2024年湖南怀化洪江区招聘事业单位工作人员考试真题
- 2026年山东泰安市中考化学真题试题(含答案)
- 2026年重庆市地理生物会考真题试卷+解析及答案
- (2026版)《中华人民共和国国家发展规划法》解读
- 2025年少先队辅导员技能大赛考试测试题及参考答案
- 工程项目管理课程课件
- 蛋类生产车间管理制度及流程
- 水利工程质量培训制度
- 光伏电站工程吊篮施工方案
- 爆破作业项目现场安全管理规范
- 新生儿光照疗法
评论
0/150
提交评论