SIMATIC S7-300系列
    更多
    常问问题

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

    star star star star star
    5.0 分
    • 使用操作
    • 周期
    • 高速计数
    • 计数
    文档编号:88761721| 文档类型:常问问题| 发布时间:2023年12月19日
    • 0
    • 456
    • 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

    春日学PLC活动
    • 评论
    • 分享

      扫码分享

    • 收藏
    • 点赞
    • 纠错
     

    隐私政策更新提示

    欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。

    同意并继续浏览
    提示
    您即将前往“全球技术资源库”。
    “全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
    确定
    信息提示
    很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。