• {{item.name}}
SIMATIC S7-300系列 {{item.name}}
{{item2.name}}
更多
常问问题

如何快速周期读出一个FM350-2高速计数模块的8通道计数值?

star star star star star
5.0 分
  • 使用操作
  • 周期
  • 高速计数
  • 计数
文档编号:88761721| 文档类型:常问问题| 发布时间:2023年12月19日
  • 0
  • 244
  • 1597
此FAQ介绍如何通过编程处理,快速周期读出一个FM350-2高速计数模块的8通道计数值。

描述
本条目将介绍如何快速周期读出一个FM350-2高速计数模块的8通道计数值.

由于无法同时读取8通道的计数值,需要通过读100及101任务请求分别读出模块的前后4个通道的计数值,这样可以通过编程实现,当模块没有其它任务请求"IOB_RD.BUSY"=FALSE) 并且上一个读取任务已经完成时(DBX3.1 "IOB_RD.DONE"=TRUE)可以进行计数值读取工作。

可以使用以下程序周期快速地读取FM350-2模块的8通道计数值,本程序中是通过交替读取来实现的。

要求

  1. FM350-2模块的通道地址已经存放于DB块.
  2. 使能软件门.
  3. 所有必要的控制任务已经完成.

满足上述条件后可以通过使能以下程序中的布尔量为TRUE来交替 周期读取模块的8通道计数值.

AUF "CounterDB" /计数值存储数据块

//如果当前没有读取任务请求,通过控制"CTL_RD"=TRUE来启动读取任务
U       DBX3.0        //IOB_RD.BUSY
UN    DBX3.1        //IOB_RD.DONE
ON    "CTL_RD"
SPB    ENDE

// 通过设置任务100读取前4个通道(0-3)的计数值.
U        "Chan 4...7"
O(
UN    "Chan 0 ...3"
UN    "Chan 4 ...7"
)
SPBN CH47
L        100
T        DBB 2
S        "Chan 0...3"
R        "Chan 4...7"
SPA    ENDE

// 通过设置任务100读取后4个通道(4-7)的计数值.
CH47:    U    "Chan 0...3"
             SPBN ENDE
             L 101
             T DBB 2
             R "Chan 0...3"
             S "Chan 4...7"
ENDE:   NOP 0

//通过功能块CNT2_CTR控制模块的数字量输出及软件门.
CALL    "CNT2_CTR"
DB_NO: = w#16#1    //数据块块号

//调用功能块CNT2_RD读取FM350-2的计数值.
CALL    "CNT2_CTR"
DB_NO: = w#16#1    //数据块块号
RET_VAL: = MW100

进一步信息
更多关于FM 350-2 模块的信息请参考条目ID 1105178.
8.12章节描述了如何通过扩展的用户程序进行计数值读取,在一些IM接口模块及CPU 41x中,可以通过用户程序接口读取全部8通道的计数值。  


描述
本条目将介绍如何快速周期读出一个FM350-2高速计数模块的8通道计数值.

由于无法同时读取8通道的计数值,需要通过读100及101任务请求分别读出模块的前后4个通道的计数值,这样可以通过编程实现,当模块没有其它任务请求"IOB_RD.BUSY"=FALSE) 并且上一个读取任务已经完成时(DBX3.1 "IOB_RD.DONE"=TRUE)可以进行计数值读取工作。

可以使用以下程序周期快速地读取FM350-2模块的8通道计数值,本程序中是通过交替读取来实现的。

要求

  1. FM350-2模块的通道地址已经存放于DB块.
  2. 使能软件门.
  3. 所有必要的控制任务已经完成.

满足上述条件后可以通过使能以下程序中的布尔量为TRUE来交替 周期读取模块的8通道计数值.

AUF "CounterDB" /计数值存储数据块

//如果当前没有读取任务请求,通过控制"CTL_RD"=TRUE来启动读取任务
U       DBX3.0        //IOB_RD.BUSY
UN    DBX3.1        //IOB_RD.DONE
ON    "CTL_RD"
SPB    ENDE

// 通过设置任务100读取前4个通道(0-3)的计数值.
U        "Chan 4...7"
O(
UN    "Chan 0 ...3"
UN    "Chan 4 ...7"
)
SPBN CH47
L        100
T        DBB 2
S        "Chan 0...3"
R        "Chan 4...7"
SPA    ENDE

// 通过设置任务100读取后4个通道(4-7)的计数值.
CH47:    U    "Chan 0...3"
             SPBN ENDE
             L 101
             T DBB 2
             R "Chan 0...3"
             S "Chan 4...7"
ENDE:   NOP 0

//通过功能块CNT2_CTR控制模块的数字量输出及软件门.
CALL    "CNT2_CTR"
DB_NO: = w#16#1    //数据块块号

//调用功能块CNT2_RD读取FM350-2的计数值.
CALL    "CNT2_CTR"
DB_NO: = w#16#1    //数据块块号
RET_VAL: = MW100

进一步信息
更多关于FM 350-2 模块的信息请参考条目ID 1105178.
8.12章节描述了如何通过扩展的用户程序进行计数值读取,在一些IM接口模块及CPU 41x中,可以通过用户程序接口读取全部8通道的计数值。  


您可以前往全球资源库查看此文档:

http://support.automation.siemens.com/CN/view/zh/88761721

剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。