版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
S7-1200扩展指令的应用任务1应用时间中断实现电动机的间歇启动任务2应用硬件中断实现电动机的启停控制任务3应用函数FC实现两组电动机的顺序启动控制任务4应用函数块FB实现水泵和油泵控制任务5应用日期和时间指令实现作息响铃控制任务6应用PTO输出脉冲任务7应用PWM输出脉冲任务8应用高速计数器实现转速测量任务1应用时间中断实现电动机的间歇启动任务引入应用时间中断实现电动机的间歇启动,控制要求如下。1.当按下启动按钮时,电动机运行1min,停止1min,这样周而复始。2.当按下停止按钮或发生过载时,电动机立即停止。相关知识一、代码块与程序结构块简要描述组织块(OB)操作系统与用户程序的接口,决定用户程序的结构函数块(FB)用户编写的具有一定功能的子程序,有专用的背景数据块函数(FC)用户编写的具有一定功能的子程序,没有专用的背景数据块背景数据块(DB)用于保存FB或功能指令的输入、输出参数和静态变量,其数据在编译时自动生成全局数据块(DB)存储用户数据的数据区域,供所有的代码块使用中断程序执行图4‑4用户程序的嵌套二、事件与组织块事件类型OB编号OB数启动事件优先级程序循环1或≥123≥1启动结束或上一个循环OB结束1启动100或≥123≥0从STOP切换到RUN模式1时间中断10~17或≥123≤2已达到启动时间2延时中断20~23或≥123≤4延时时间结束3循环中断30~33或≥123≤4设定时间已用完8硬件中断40~47或≥123≤50上升沿(≤16个)、下降沿(≤16个)18HSC:计数值=设定值、计数方向变化、外部复位,均为≤6个18状态中断551CPU接收到状态中断,例如从站中的模块更改了操作模式4更新中断561CPU接收到更新中断,例如更改了从站或设备的插槽参数4制造商中断571CPU接收到制造商或配置文件特定的中断4时间错误801超过最大循环时间,中断队列溢出、中断过多丢失中断26诊断错误中断821模块故障5拔出/插入中断831拔出/插入分布式I/O模块6机架错误861分布式I/O的I/O系统错误6三、时间中断指令位15~543210值0100101010含义-存在OB编号不存在OB编号-已激活未激活或已过去禁用启用启动运行查询OB_NR的状态并保存到STATUS指定的状态字中,STATUS各位的含义见1.查询时间中断状态指令QRY_TINT2.设置中断指令SET_TINTL(1)参数SDT(DTL类型)是起始日期时间(2)参数PERIOD(Word类型)用来设置产生时间中断的时间间隔,可以设置为16#0000(单次)、16#0201(每分钟一次)、16#0401(每小时一次)、16#1001(每天一次)、16#1201(每周一次)、16#1401(每月一次)、16#1801(每年一次)、16#2001(月末)。(3)参数LOCAL(Bool类型)为“1”或“0”分别表示使用本地时间或系统时间。(4)参数ACTIVATE(Bool类型)为“1”时表示使用该指令设置并激活时间中断;为“0”时表示仅设置时间中断,需要调用ACT_TINT指令来激活时间中断。3.启用时间中断指令ACT_TINT启用时间中断指令ACT_TINT是对指定的中断OB_NR进行激活。4.取消中断指令CAN_TINT在不需要时间中断的时候,可以使用取消中断指令CAN_TINT取消指定的中断OB_NR。四、读取系统时间指令读取系统的日期和时间到OUT指定的DTL地址中任务实施2.创建变量1.
硬件组态一、硬件组态与编程3.编写控制程序(1)添加组织块OB10(2)编写时间中断程序(3)编写主程序①
添加临时变量②
主程序的编写二、仿真运行单击,新建一个仿真项目单击仿真按钮“下载预览”中单击“装载”,将PLC_1站点下载到仿真器中单击工具栏中的,使PLC运行。1.勾选“过载”,单击“启动”的按钮,经过1min,可以看到Q0.0为TRUE,电动机运行;再经过1min,Q0.0为FALSE,电动机停止,如此反复。2.当单击“停止”的按钮或取消勾选“过载”时,Q0.0一直为FALSE,电动机停止。仿真界面中,打开“SIM表格_1”,单击,添加项目变量扩展知识一、启动和循环组织块1.启动组织块本例应用一个启动组织块OB100使QB0初始化为16#07,应用另一个启动组织块OB123统计PLC启动次数
(b)OB123的程序(a)OB100的程序
为了通过MB10统计CPU的启动次数,需要将MB10设为保持型。2.循环组织块(a)OB1的程序
(b)OB123的程序用I0.0和I0.1分别控制Q1.0和Q1.1,控制效果相同。二、延时中断1.延时中断指令
(1)延时中断状态查询指令QRY_DINT是查询OB_NR的延时中断状态,保存到STATUS中位15~543210值0100101010含义-存在OB编号不存在OB编号-已激活未激活或已过去禁用启用启动运行(2)启动延时中断SRT_DINT中的参数DTIME为延时时间值,数据类型为Time,范围1~60000ms(3)取消延时中断CAN_DINT可以用来取消已启动的延时中断。2.延时中断应用实例应用延时中断实现从Q0.0输出周期为1s的脉冲主程序OB1延时中断程序OB20任务2应用硬件中断实现电动机的启停控制任务引入应用硬件中断实现对电动机的控制,控制要求如下。1.当按下启动按钮时,电动机启动运行。2.当按下停止按钮或电动机过载时,电动机停止。相关知识—硬件中断用于处理需要快速响应的过程事件。当出现硬件中断事件时,立即中止当前正在执行的程序,改为执行对应的硬件中断OB。S7-1200支持的硬件中断事件有:1.CPU内置的数字量输入、信号板的数字量输入的上升沿事件和下降沿事件。不支持信号模块的数字量输入事件。2.高速计数器(HSC)的当前计数值等于设定值事件。3.HSC的计数方向改变事件,即计数值由增大变为减少或由减少变为增大。4.HSC的数字量外部复位输入的上升沿事件,计数值被复位为0。任务实施1.
硬件组态一、硬件组态与编程I0.1:通道1→勾选“启用上升沿检测”→“硬件中断”→OB41(置位输出)I0.0:通道0→勾选“启用下降沿检测”→“下降沿0”,硬件中断选OB40(复位输出)。I0.2:通道2→勾选“启用上升沿检测”→硬件中断选择OB40。二、仿真运行单击,新建一个仿真项目单击仿真按钮“下载预览”中单击“装载”,将PLC_1站点下载到仿真器中单击工具栏中的,使PLC运行。1.勾选I0.02.单击I0.1的按钮,Q0.0为TRUE,电动机启动。3.单击I0.2的按钮,Q0.0为FALSE,电动机停止。4.取消勾选I0.0,Q0.0为FALSE,电动机停止。2.编写程序仿真界面中,打开“SIM表格_1”,单击,添加项目变量扩展知识一、中断连接指令和中断分离指令
(a)ATTACH指令
(b)DETACH指令1.ATTACH指令用于建立硬件中断事件EVENT与中断组织块OB的连接参数EVENT为要分配给OB的硬件中断事件,参数ADD(Bool类型)的默认值为0,表示将指定的事件取代连接到原来分配给这个OB的所有事件;ADD设为1,表示该事件将添加到此OB之前的事件分配中。2.DETACH指令用于断开硬件中断事件EVENT与中断组织块OB的连接。二、中断连接和中断分离的应用要求使用指令ATTACH和DETACH,在出现I0.0上升沿事件时,交替调用硬件中断组织块OB40和OB41,分别将不同的值写入QB0。(a)OB40的程序(b)OB41的程序任务3应用函数FC实现两组电动机的顺序启动控制任务引入某设备有两组电动机,要求使用函数FC进行模块化编程,实现两组电动机的顺序启动控制。控制要求如下。1.第一组有两台电动机,第一台电动机M11启动后,经过5s,第二台电动机M12启动。2.第二组也有两台电动机,第一台电动机M21启动后,经过10s,第二台电动机M22启动。第一组电动机输入端子输入器件作用输出端子输出器件作用I0.0SB1组1启动Q0.0接触器KM11控制电动机M11I0.1SB2组1停止Q0.1接触器KM12控制电动机M12I0.2KH1组1过载
第二组电动机输入端子输入器件作用输出端子输出器件作用I0.3SB3组2启动Q0.2接触器KM21控制电动机M21I0.4SB4组2停止Q0.3接触器KM22控制电动机M22I0.5KH2组2过载
相关知识—函数FC函数(FC)也称为“功能”,是用户自己编写的代码块,用来完成特定的任务,可以被其它代码块(OB、FB、FC)调用。FC的接口参数表:Input(输入参数)Output(输出参数)InOut(输入/输出参数)Temp(临时数据)Constant(常量)Return(返回值)任务实施1.
硬件组态一、硬件组态与编程2.编写程序(1)新建“函数FC”(FC1),命名为“顺序启动控制”
(2)TON定时器拖放到程序区,弹出“调用选项”,选择“参数实例”,接口参数名称为“定时器”,单击“确定”按钮,自动在InOut下生成参数“定时器”。
(3)FC1接口参数设计(4)OB1调用FC1①
添加“数据块”②
OB1调用FC1的程序(5)启动组织块OB100二、仿真运行单击,新建一个仿真项目单击仿真按钮“下载预览”中单击“装载”,将PLC_1站点下载到仿真器中单击工具栏中的,使PLC运行。1.勾选“组1过载”,单击“组1启动”的按钮,则“电动机M11”为TRUE,经过5s,“电动机M12”为TRUE,第一组电动机顺序启动完成。当单击“组1停止”的按钮或取消勾选“组1过载”时,“电动机M11”和“电动机M12”均为FALSE,第一组两台电动机同时停止。2.勾选“组2过载”,单击“组2启动”的按钮,则“电动机M21”为TRUE,经过10s,“电动机M22”为TRUE,第二组电动机顺序启动完成。当单击“组2停止”的按钮或取消勾选“组2过载”时,“电动机M21”和“电动机M22”均为FALSE,第二组两台电动机同时停止。仿真界面中,打开“SIM表格_1”,单击,添加项目变量任务4应用函数块FB实现水泵和油泵控制任务引入某设备有水泵和油泵,使用函数块FB进行模块化编程,控制要求如下。1.按下水泵的启动按钮,水泵启动,同时测量输水管道压力(压力传感器的测量范围0~10kPa,输出0~10V);按下水泵的停止按钮或水泵发生过载时,水泵停止。2.按下油泵的启动按钮,油泵启动,同时测量输油管道压力(压力传感器的测量范围0~1kPa,输出0~10V);按下油泵的停止按钮或油泵发生过载时,油泵停止。相关知识—函数块FB函数块(FB)也称为“功能块”,FB也具有形参,可以被其它代码块(OB、FB、FC)调用。FB和FC的区别在于,FB具有自己的存储区(背景数据块),可以将接口数据区(TEMP类型除外)存储于背景数据块中,其它逻辑程序可以直接使用背景数据块存储的数据。FB的接口参数表里有Input(输入参数)、Output(输出参数)、InOut(输入/输出参数)、Static(静态数据)、Temp(临时数据)、Constant(常量),与FC大致相同,只不过多了一个Static参数类型。任务实施1.
硬件组态一、硬件组态与编程2.编写程序(1)新建“函数FB”(FB1),命名为“压力测量”
(2)添加全局数据块DB1(3)编写主程序二、仿真运行单击,新建一个仿真项目单击仿真按钮“下载预览”中单击“装载”,将PLC_1站点下载到仿真器中单击工具栏中的,使PLC运行。1.勾选“水泵过载”,单击“水泵启动”的按钮,水泵启动。单击“水泵压力测量”,拖动滑动块,“水泵压力”的值发生相应变化。单击“水泵停止”的按钮或取消勾选“水泵过载”,水泵停止。2.勾选“油泵过载”,单击“油泵启动”的按钮,油泵启动。单击“油泵压力测量”,拖动滑动块,“油泵压力”的值发生相应变化。单击“油泵停止”的按钮或取消勾选“油泵过载”,油泵停止。仿真界面中,打开“SIM表格_1”,单击,添加项目变量任务5应用日期和时间指令实现作息响铃控制任务引入设某单位作息响铃时间分别为8:00,11:50,14:20,18:30,周六、周日不响铃,响铃时间为1min。Q0.0作为响铃输出,I0.0接入按钮,用于修改日期时间。相关知识一、日期和时间的数据类型组件字节字节数数据类型取值范围组件字节字节数数据类型取值范围YEAR(年)02UInt1970~2262MINUTE(分)61USInt0~591SECOND(秒)71USInt0~59MONTH(月)21USInt1~12NANSECOND(纳秒)84UDInt0~999999999DAY(日)31USInt1~319WEEKDAY(星期)41USInt1~7(星期日~星期六)10HOUR(小时)51USInt0~2311二、T_CONV指令和时钟指令1.T_CONV指令用于整数和日期时间数据类型之间的转换,将IN输入参数的数据类型转换为OUT上输出的数据类型2.时钟指令“读取时间”指令RD_SYS_T是读取CPU时钟的当前系统日期和时间;“设置时间”指令WR_SYS_T可设置CPU时钟的系统日期和时间;“读取本地时间”指令RD_LOC_T是从CPU时钟读取当前本地时间;“写入本地时间”指令WR_LOC_T用于设置CPU时钟的本地日期和时间。(a)程序(b)数据块DB1的监视任务实施1.
硬件组态一、硬件组态与编程2.编写程序(1)添加函数块“响铃”单击“属性”→“常规”→“时间”,选择本地时间为北京时间,不使用夏令时。(2)添加数据块DB1(3)编写主程序(4)初始化响铃时间二、仿真运行单击,新建一个仿真项目单击仿真按钮“下载预览”中单击“装载”,将PLC_1站点下载到仿真器中单击工具栏中的,使PLC运行。1.单击工具栏中的“启用/禁用非输入修改”按钮,在“监视/修改值”列将年、月、日、小时、分钟、秒修改为2021-8-20-7:59:55,单击“调试”的按钮,则读取日期时间被修改。经过5s(8:00到),变量“响铃输出”为TRUE,开始响铃,响铃时间为1min。2.按照同样的方法,调试其余的作息时间。3.日期修改为星期六或星期日,查看在这些作息时间是否响铃。仿真界面中,打开“SIM表格_1”,单击,添加项目变量任务6应用PTO输出脉冲任务引入1.当按下SB1时,Q0.0输出10000Hz的脉冲。2.当按下SB2时,Q0.0没有脉冲输出。3.当按下SB3时,Q0.0输出脉冲的频率变为20000Hz。相关知识一、PTO输出端子在一个周期中,脉冲宽度(高电平的宽度)与脉冲周期之比称为占空比,脉冲串输出(Pulse-TrainOutput,PTO)功能提供占空比为50%的方波脉冲列输出。PTO类型脉冲方向最大频率/kHzPTO1集成输出Q0.0Q0.1100SB输出Q4.0Q4.1200PTO2集成输出Q0.2Q0.3100SB输出Q4.2Q4.3200PTO3集成输出Q0.4Q0.520SB输出Q4.0Q4.1200PTO4集成输出Q0.6Q0.720SB输出Q4.2Q4.3200二、CTRL_PTO指令参数声明数据类型说明参数声明数据类型说明REQInputBoolREQ=1,将输出频率设置为FREQUENCY;FREQUENCY=0,无脉冲输出REQ=0,输出无变化DONEOutputBool1-成功完成BUSYOutputBool处理状态PTOInputHW_PTO脉冲发生器的硬件标识符ERROROutputBool1-发生错误FREQUENCYInputUDInt待输出的脉冲序列频率,单位HzSTATUSOutputWord错误代码任务实施1.
硬件组态一、硬件组态与编程新建一个项目,添加一个“CPU1212CDC/DC/DC”,版本号为V4.4。单击巡视窗口中的“属性”→“常规”→“脉冲发生器(PTO/PWM)”→“PTO1/PWM1”→“常规”,勾选“启用该脉冲发生器”。参数分配硬件输出2.编写程序二、运行操作步骤本任务的仿真不能查看输出效果,故只能实物运行。扩展知识—PTO输出信号类型PTO输出信号类型有四种,分别为“脉冲A和方向B”、“脉冲上升沿A和脉冲下降沿B”、“A/B相移”和“A/B相移-四倍频”,可以用PTO输出脉冲控制步进电机或伺服电机。任务7应用PWM输出脉冲任务引入1.当按下SB1时,从Q0.0输出的脉冲占空比增加5%。2.当按下SB2时,从Q0.0输出的脉冲周期增加50μs。相关知识一、PWM输出端子脉冲宽度调制(Pulse-WidthModulation,PWM)功能提供占空比可调的脉冲列输出。二、CTRL_PWM指令PWM类型脉冲最小周期/μsPWM1集成输出Q0.010SB输出Q4.05PWM2集成输出Q0.210SB输出Q4.25PWM3集成输出Q0.450SB输出Q4.15PWM4集成输出Q0.650SB输出Q4.35CTRL_PWM指令的输入参数PWM为脉冲发生器的硬件标识符,可选择在设备视图中组态的PWM。输入参数ENABLE为使能脉冲输出。当ENABLE为“1”时,允许脉冲输出;为“0”时,禁止脉冲输出。任务实施1.
硬件组态一、硬件组态与编程新建一个项目,添加一个“CPU1212CDC/DC/DC”,版本号为V4.4。单击巡视窗口中的“属性”→“常规”→“脉冲发生器(PTO/PWM)”→“PTO1/PWM1”→“常规”,勾选“启用该脉冲发生器”。参数分配硬件输出2.编写程序二、运行操作步骤本任务的仿真不能查看输出效果,故只能实物运行。任务8应用高速计数器实现转速测量任务引入与电动机同轴的测量轴安装一个增量型旋转编码器,该编码器每转输出1000个A/B相正交脉冲,控制要求如下。1.当按下启动按钮时,电动机M启动,对电动机转速进行测量,测量转速保存到MD100中。2.当按下停止按钮或过载时,电动机M停止。相关知识一、高速计数器的工作模式与端子共有四种基本工作模式,分别为具有内部方向控制的单相计数器、具有外部方向控制的单相计数器、具有两路时钟输入的双相计数器和A/B相正交计数器高速计数器模式数字量输入字节0(默认I0.x)数字量输入字节1(默认I1.x)最高频率/kHz01234567012345HSC1单C[D]
[R]
100双CUCD
[R]
100ABAB
[R]
80HSC2单
[R]C[D]
100双
[R]CUCD
100AB
[R]AB
80HSC3单
C[D]
[R]
100双
CUCD
[R]
100AB
AB
[R]
80HSC4单
[R]C[D]
30双
[R]CUCD
30AB
[R]AB
20HSC5单
C[D][R]
30双
CUCD[R]
30AB
AB[R]
20HSC6单
C[D][R]30双
CUCD[R]30AB
AB[R]20二、高速计数器的功能1.计数2.测量频率3.测量周期4.运动控制三、单相高速计数器任务实施1.
硬件组态一、硬件组态与编程新建一个项目,添加一个“CPU1214CAC/DC/Rly”,版本号为V4.2。单击“属性”→“常规”→“高速计数器(HSC)”→“HSC1”→“常规”,勾选“启用该高速计数器”。2.编写程序二、运行操作步骤本任务的仿真不能查看输出效果,故只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防雨雪冰冻应急演练
- 颈椎病的预防与照护
- 花生酥课件教学课件
- 零售年中述职报告
- 精神科阿尔茨海默病
- 2.2 课时2 离子反应 课件 上学期化学鲁科版(2019)必修第一册
- 超市防盗标签的种类和使用方法
- 初中体育教案课后反思
- 角的平分线的性质说课稿
- 经济特区城市更新与社区服务
- Linux操作系统应用(麒麟系统)PPT完整全套教学课件
- 湖北省旅游PPT简介湖北省幻灯片模板
- 大学生创新创业PPT完整全套教学课件
- 报关单位备案信息表
- 宁夏医学会超声医学分会委员候选人推荐表
- 消费者咨询业务试题及答案(4月4更新)
- 晕厥的诊断与治疗晕厥专家讲座
- 海尔bcd系列冰箱说明书
- 弘扬民族精神奔流不息民族魂
- 《最后一次讲演》优秀教案及教学反思(部编人教版八年级下册)共3篇
- 2023年公共营养师之三级营养师真题及答案
评论
0/150
提交评论