养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

编码器与plc怎么编程

时间:2024-11-10 21:53:02

、假设在旋转机械上嘀芟苒疾有单相增量编码器作为反馈,接入到S7-1200CPU,要求:在计数25个脉冲时,计数器复位,置位 M0.5,并设定新预置值为50邗锒凳审个脉冲,当计满50个脉冲后复位M0.5,并将预置值再设为25,周而复始执行此功能。针对此应用,选择CPU 1214C,高速计数器为:HSC1。模式为:单相计数,内部方向控制,无外部复位。脉冲输入接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。组态步骤:先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。此步骤必须事先执行,S7-1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤。添加硬件中断块,关联相对应的高速计数器所产生的预置值中断,在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数。将程序下载,执行功能。

工具/原料

S7-1200CPU

单相增量编码器

TIAPortalV14

硬件组态

1、如图所示,进入CPU的硬件视图。选中CPU展开PLC,左键双击设备组态在CPU硬件视图,左键选中CPU

编码器与plc怎么编程

2、如图所示,启用高速计数器。选择属性打开组态界面左键选择属性在导航栏中选择“高速计数器(HSC)”,在HSC1中选择“常规”勾选“启用该高速计数器”

编码器与plc怎么编程

3、如图所示,设置高速计数器基本设置。激活高速计数功能在HSC1中选择"功能"计数类型选择“计数”工作模式选择“单相”计数方向取决于选择“用户程序(内部方向控制)”初始计数方向选择“加计数”

编码器与plc怎么编程

4、如图所示,设置计数器初始值。计数器初始值在HSC1中选择"初始值"初始计数器值设置“0”初始参考值设置“25”

编码器与plc怎么编程

5、如图所示,组态事件。事件组态在HSC龀音孵茧1中选择"事件组态"激活“为计数器值等于焊剑杂锭参考值这一事件生成中断”左键点击该按钮在弹出页面选择所需的硬件中断如果没有硬件中断或者没有所需要的硬件中断,则左键点击按钮“新增”,会弹出页面,如Step6图所示。

编码器与plc怎么编程

6、添加新的硬件中断选择"Hardwareinterrupt"注意该硬件中断的中断OB编号左键点击“确定”按钮

编码器与plc怎么编程

7、如图所示,设置硬件输入点。设置输入点在HSC1中选择"硬件输入"在时钟发生器输入中选择所需的I点,例如例子中的“I0.0”

编码器与plc怎么编程

8、如图所示,查看HSC的计数值地址。计数值地址在HSC1中选择"I/O地址"起始地址到结束地址为HSC实际计数器值的地址,图中地址为ID1000。组织块和过程映像一般设置默认,可以设置计数值在指定OB更新。

编码器与plc怎么编程

9、如图所示,设置I点的输入滤波器时间。输入滤波器在CPU或者信号板中找到使用的通道在输入滤波器设置合适的滤波值,V4.0以后版本需要设置至此硬件组态部分已经完成,下面进行程序编写

编码器与plc怎么编程

程序编写

1、如图所示,展开项目树中的PLC的程序块,选择所需的硬件中断。打开硬件中断块左键双击打开所需的硬件中断

编码器与plc怎么编程

2、如图所示,在指令列表中找到工艺指令--计数--CTRL_HSC_EXT。添加高速计数器在图中位置找到所需指令,将指令拖入硬件中断的程序编辑器,会产生如图12所示的调用选项,只能选择单个实例,单击“确定”按钮。

编码器与plc怎么编程

编码器与plc怎么编程

3、如图所示,新建DB,新建变量,数据类型为HSC_Count。高速计数器变量在数据类型处手动输入HSC_Count,输入完回车确认。

编码器与plc怎么编程

4、如图所示,展开该变量。高速计数器变量将该变量设置为1,也就是高速计数器的软件门使能。

编码器与plc怎么编程

5、如图所示,在硬件中断内编程。硬件中断编旯皱镢涛程程序段1: M0.5作为标志位,在OB1第一个扫描周期置位,参考图16,该标志位为1时指代参考值为25时,为0时指代参考值为50时。当进入中断骀旬沃啭时,反转标志位,并赋值新的参考值。程序段2:设置新的当前值为0,设置新的当前值使能,设置新的参考值使能。程序段3:触发高速计数器指令输入高速计数器标识符,以HSC1为例,建议输入符号名“Local~HSC_1”。在CTRL处输入图13处新建的变量。

编码器与plc怎么编程

6、如图所示,在OB1中编写程序,只需将图龀音孵茧15中的程序段3复制到OB1即可。OB1程序至此程序编制部分完芤晟踔肿成,将完成的组态与程序下载到CPU后即可执行,当前的计数值可在ID1000中读出 ,关于高速计数器指令块,若不需要修改当前值、参考值等参数,可不需要调用,系统仍然可以计数。

编码器与plc怎么编程

© 一点知识