FM350-2模块是S7-300系列中一款高速计数器模块,此模块能连接8通道高速脉冲输入信号,计数器信号的最大输入频率可达20kHz。可以直接连接24V增量式编码器和8.2V NAMUR编码器。FM350-2计数通道连接的信号源(24V)为PNP型。本文将以连接24V PNP型增量式A/B正交编码器为例,介绍在TIA Portal V15.1软件界面下组态FM350-2的具体过程。
在FM350-2后面安装背板总线,连接模板到机架上面,安装40针的前连结器,按照下图进行正确接线。
端子 | 名称 | 输入/输出 | 功能 |
1 | 没有使用 | ||
2 | 没有使用 | ||
3 | A0 | 输入 | 0通道的编码器脉冲信号输入 |
4 | A1 | 输入 | 1通道的编码器脉冲信号输入 |
5 | A2 | 输入 | 2通道的编码器脉冲信号输入 |
6 | A3 | 输入 | 3通道的编码器脉冲信号输入 |
7 | B0 | 输入 | 0通道的计数方向控制输入 |
8 | B1 | 输入 | 1通道的计数方向控制输入 |
9 | B2 | 输入 | 2通道的计数方向控制输入 |
10 | B3 | 输入 | 3通道的计数方向控制输入 |
11 | I0 | 输入 | 0通道的硬件控制输入门 |
12 | I1 | 输入 | 1通道的硬件控制输入门 |
13 | I2 | 输入 | 2通道的硬件控制输入门 |
14 | I3 | 输入 | 3通道的硬件控制输入门 |
15 | Q0 | 输出 | 0通道的数字量输出0.5A |
16 | Q1 | 输出 | 1通道的数字量输出0.5A |
17 | Q2 | 输出 | 2通道的数字量输出0.5A |
18 | Q3 | 输出 | 3通道的数字量输出0.5A |
19 | P8V2 | 输出 | NAMUR 编码器电源供应8.2V |
20 | P8V2 | 输出 | NAMUR 编码器电源供应8.2V |
21 | L+ | 输入 | 模板24V电源供应 |
22 | M | 输入 | 模板0V电源供应 |
23 | A4 | 输入 | 4通道的编码器脉冲信号输入 |
24 | A5 | 输入 | 5通道的编码器脉冲信号输入 |
25 | A6 | 输入 | 6通道的编码器脉冲信号输入 |
26 | A7 | 输入 | 7通道的编码器脉冲信号输入 |
27 | B4 | 输入 | 4通道的计数方向控制输入 |
28 | B5 | 输入 | 5通道的计数方向控制输入 |
29 | B6 | 输入 | 6通道的计数方向控制输入 |
30 | B7 | 输入 | 7通道的计数方向控制输入 |
31 | I4 | 输入 | 4通道的硬件控制输入门 |
32 | I5 | 输入 | 5通道的硬件控制输入门 |
33 | I6 | 输入 | 6通道的硬件控制输入门 |
34 | I7 | 输入 | 7通道的硬件控制输入门 |
35 | Q4 | 输出 | 4通道的数字量输出0.5A |
36 | Q5 | 输出 | 5通道的数字量输出0.5A |
37 | Q6 | 输出 | 6通道的数字量输出0.5A |
38 | Q7 | 输出 | 7通道的数字量输出0.5A |
39 | P8V2 | 输出 | NAMUR 编码器电源供应8.2V |
40 | P8V2 | 输出 | NAMUR 编码器电源供应8.2V |
打开TIA博途软件,切换到项目视图界面,然后进入设备组态,如下图所示。
根据实际的硬件配置,插入S7-300 PLC及FM350-2,如下图所示。
打开项目树,在"本地模块"中找到FM350-2的"参数设置"选项,如下图所示。
双击"参数"选项,进入到FM350-2的实际硬件配置界面。先从"操作模式"选项开始FM350-2的配置,如下图所示.选择FM350-2的计数模式,本例中以操作模式为连续计数(如需了解更多FM350-2的更新信息,请参考350-2的手册)
配置编码器,如下图所示。配置传感器类型、计数方向。
"输出"界面中可以选择触发集成快速输出的事件,这些事件与设置的比较值有关,可以根据实际需要进行选择,如下图所示。
如果需要启用硬件中断功能,那么在"启动硬件中断"界面中激活相应的选项,中断条件满足后就会调用OB40(硬件中断)。上述所有配置完成后编译存盘。
与STEP 7不同,TIA博途软件不需要安装FM350-2的组态包。FM350-2与CPU之间的通信结构包含在用户数据类型CNT2-CHANTYPE中,这个用户数据类型已经包含在软件中,不需要单独创建,只需在创建DB块时,选择CNT2-CHANTYPE数据类型即可,如下图所示。
创建DB块后,即可开始在OB1中进行参数赋值,如下图所示。
上述地址的赋值根据设备组态中实际已分配的输入地址(即FM350-2模块I区的首地址)进行编程。DB1是CPU与高速计数器模块的通信数据区,在数据块中包含FM350-2的地址信息。例如,逻辑地址256存放在DB1.DBW12中,FM350-2的通道地址与逻辑地址相同,但是表达形式为指针形式,例如P#256.0,这些参数的设定为固定模式。除此之外,DB1中还包括当前计数值、比较值及比较器状态等参数,对FM350-2的操作是通过读写数据块DB1实现的。
编程需要调用FM350-2的控制函数,控制函数在指令的"工艺"栏中,如下图所示 。
函数调用函数调用,首先置位软件门,然后调用CNT2_CTR和CNT2RDPN,如下图所示。
编程结束后,将所有配置及程序下载到CPU中。然后进入DB块进行监控,如下图所示。
FM350-2 DB的数据地址信息如下表所示:
Counter_DB地址(DBD) | Counter_DB名称 | 数据类型 | 初始值 | 含义 |
---|---|---|---|---|
0 | JOB_WR.NO | BYTE | B#16#0 | 写操作的工作任务号码 |
1.0 | JOB_WR.BUSY | BOOL | FALSE | 1: 有写操作正在执行 |
1.1 | JOB_WR.DONE | BOOL | FALSE | 1:写操作已经完成 |
1.2 | JOB_WR.IMPOSS | BOOL | FALSE | 1:写操作无法被完成 |
1.3 | JOB_WR.UNKNOW | BOOL | FALSE | 1:无法识别的写操作 |
2 | JOB_RD.NO | BYTE | B#16#0 | 读操作的工作任务号码 |
3.0 | JOB_RD.BUSY | BOOL | FALSE | 1: 有读操作正在执行 |
3.1 | JOB_RD.DONE | BOOL | FALSE | 1:读操作已经完成 |
3.2 | JOB_RD.IMPOSS | BOOL | FALSE | 1:读操作无法被完成 |
3.3 | JOB_RD.UNKNOW | BOOL | FALSE | 1:无法识别的读操作 |
12 | MOD_ADR | WORD | W#16#0 | 模块地址,详见模板属性,硬件组态图2-2 |
14 | CH_ADR | DWORD | DW#16#0 | 通道地址,同模板地址,指针格式,如P#256.0 |
18 | DS_OFFS | BYTE | B#16#0 | 数据块地址偏移量 |
21.0-21.7 | CONTROL_SIGNALS.CTRL_DQ0 - 7 | BOOL | False | output0-7使能操作 |
22.0-22.7 | CONTROL_SIGNALS.SET_DQ0 - 7 | BOOL | False | output0-7置位操作 |
23.0-23.7 | CONTROL_SIGNALS.SW_GATE0 - 7 | BOOL | False | 依次为计数器通道0-7的软件门控制位 |
36.1 | CHECKBACK_SIGNALS.STS_TFB | BOOL | False | 测试状态位 |
36.4 | CHECKBACK_SIGNALS.DATA_ERR | BOOL | False | 数据出错 |
36.7 | CHECKBACK_SIGNALS.PARA | BOOL | False | 模块是否被参数化 |
37.0-37.7 | CHECKBACK_SIGNALS.CMP0 - 7 | BOOL | False | 比较器0-7的状态 |
38.0-38.7 | CHECKBACK_SIGNALS.STS_UFLW0 - 7 | BOOL | False | 计数器0-7下溢 |
39.0-39.7 | CHECKBACK_SIGNALS.STS_OFLW0 - 7 | BOOL | False | 计数器0-7上溢 |
40.0-40.7 | CHECKBACK_SIGNALS.STS_DIR0 - 7 | BOOL | False | 计数器0-7方向改变 |
41.0-41.7 | CHECKBACK_SIGNALS.STS_DI0 - 7 | BOOL | False | 数字量输入0-7的状态 |
42.0-42.7 | CHECKBACK_SIGNALS.STS_DQ0 - 7 | BOOL | False | 数字量输出0-7的状态 |
43.0-43.7 | CHECKBACK_SIGNALS.STS_GATE0 - 7 | BOOL | False | 软件门0-7的状态 |
52、56、60、64、68、72、76、80 | LOAD_VAL0-7 | DINT | L#0 | 在计数模式下,依次为计数器通道0至7的装载值 在频率(周期、转速)测量模式下,依次为计数器通道0至7的低限值 |
84、88、92、96、100、104、108、112 | LOAD_PREPARE_VAL0-7 | DINT | L#0 | 在计数模式下,依次为计数器通道0至7的预备装载值 在频率(周期、转速)测量模式下,依次为计数器通道0至7的高限值 |
116、120、124、128、132、136、140、144 | CMP_VAL0-7 | DINT | L#0 | 依次为更新计数器0至7的比较值 |
148、156、164、172、180、188、196、204 | ACT_CNTV0-7 | DINT | L#0 | 计数器0-7的当前计数值 |
152、160、168、176、184、192、200、208 | ACT_MSRV0-7 | DINT | L#0 | 计数器0-7的当前测量值 |
212之后 | 模板诊断信息 |
您可以通过下面的链接下载FM350-2模板手册.
https://support.industry.siemens.com/cs/cn/zh/view/1105178
1 硬件:315-2PN/DP V3.2 / 6ES7 350-2AH01-0AE0
2 软件:TIA 博途V15.1
3 实现功能:FM350-2高速计数
本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。