精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

狀態機如何簡化PLC程序的編寫

h1654155282.3538 ? 來源:自動化工程師的日常 ? 作者:自動化工程師的日 ? 2020-09-10 14:44 ? 次閱讀

PLC程序的編寫過程中,可以使用狀態機的控制思路,將一些復雜的控制過程使用狀態機的方法處理。這里簡單給大家介紹一下什么是狀態機?如下圖所示,為一個狀態機的狀態圖。

從以上圖中可以看到,其是將動作執行的各個狀態進行了一個劃分、規劃。動作程序的執行就是使程序在不同的條件下進行各個狀態之間的轉換。

以上這些都比較抽象,初次接觸的話不是特別能讓人理解,接下來我們看一下一個程序功能如何拆分為狀態機的單個狀態。

如何拆分設計狀態機的狀態

狀態的選擇

一般將程序執行過程中,會存在停留、保持、等待等過程。在設計狀態的時候,就可以將狀態的最小單位設計為這些過程。例如,1、控制氣缸伸出/收回,這就可以選做狀態機的一個狀態;2、設備停止,等待接收命令,這也應該是一個狀態;3、啟動電機運行,電機運行到停止這也應該是一個狀態;

總的來說,在選擇狀態的時候,狀態在程序的時序結構上,在時間單位上應該是一個“保持”的狀態。

狀態之間的轉換

狀態轉換一定是要某種條件的。即狀態在處于保持的過程中,檢測到條件滿足,就進行狀態間的轉換。例如,氣缸伸出/收回這個狀態,在氣缸動作的過程中,其缸動作到位傳感器檢測到到位信號,則程序就應該轉換到下一個狀態。下一個狀態可以是另一個氣缸的動作、也可以是等待延時、還可以是其他設備流程上的步驟。

狀態機實現流程控制方法

舉例1

這里以機械手物料取放機構為例給大家分享。這個是我以前給大家分享的一篇文章PLC編程示例-機械手物料取放。在這篇文章中,我以類似于“流水線”的方式給大家分享如何處理這類流程控制邏輯。

這種方式簡單方便,編寫程序的時候就依照動作的流程順序執行下去就可以。但是如果設備的動作比較復雜,就可能會將這個“流水線”設計得非常得長。這當然不是一個優質的程序結構。但是如果使用狀態機的方式來處理,就可以將程序簡化許多。且程序的代碼質量也會提高不少。

舉例2

串口自定義協議實現過程。在處理串口通信的過程中,在進行數據傳輸的過程中一般都會有幾個動作,如串口狀態查詢、串口空閑查詢、數據發送、數據接收、異常檢測、異常處理。

同樣的,將串口通信的過程均使用狀態機的方式來進行處理,可以極大的簡化程序的結構。尤其在通信過程為動態變化的情況下,如某一時刻,僅需要數據發送流程;某一時刻,僅需要數據接收;某一時間既要發送又要接收;在處理此類流程復雜的過程時,選用狀態機的方式可以靈活的適用在各種變化的通信過程。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27486
  • PLC程序
    +關注

    關注

    4

    文章

    72

    瀏覽量

    11265
收藏 人收藏

    評論

    相關推薦

    STM32按鍵狀態機2——狀態簡化與增加長按功能

    本篇繼續介紹狀態機的使用,在上篇的基礎上,通過簡化按鍵去抖邏輯,并增加按鍵長按功能,進一步介紹狀態圖的修改與狀態機代碼的實現,并通過實際測試,演示
    的頭像 發表于 09-03 21:26 ?4029次閱讀
    STM32按鍵<b class='flag-5'>狀態機</b>2——<b class='flag-5'>狀態</b><b class='flag-5'>簡化</b>與增加長按功能

    為什么PIC32的Harmony編寫沒有交互的狀態機

    重新定義,但是基于和聲方法,這些狀態機也基于中斷在不同的文件中從一個狀態移動到另一個狀態。這個應用程序運行良好,但我詢問您的意見,如果這種方法是正確的或可以改進的,或者如果您有任何SU
    發表于 08-12 08:36

    采用狀態機和消息機制的串口接收程序

    采用狀態機和消息機制的串口接收程序
    發表于 05-16 14:51 ?48次下載

    狀態機思路在單片程序設計中的應用

    狀態機思路在單片程序設計中的應用 狀態機的概念       狀態機是軟件編程中的一個
    發表于 03-18 15:00 ?1251次閱讀
    <b class='flag-5'>狀態機</b>思路在單片<b class='flag-5'>機</b><b class='flag-5'>程序</b>設計中的應用

    狀態機舉例

    狀態機舉例 你可以指定狀態寄存器和狀態機狀態。以下是一個有四種狀態的普通狀態機。 // Th
    發表于 03-28 15:18 ?977次閱讀

    狀態機原理及用法

    狀態機原理及用法狀態機原理及用法狀態機原理及用法
    發表于 03-15 15:25 ?0次下載

    狀態機VHDL程序

    狀態機VHDL程序,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-11 15:51 ?5次下載

    簡述如何使用Harmony的動態驅動和狀態機編寫程序

    本篇就來介紹一下如何使用Harmony的動態驅動和狀態機編寫程序。其實狀態機是挺簡單的,就是事先定義好可能發生的哪些狀態,然后主循環里根據不同的
    的頭像 發表于 02-01 03:33 ?4001次閱讀
    簡述如何使用Harmony的動態驅動和<b class='flag-5'>狀態機</b>來<b class='flag-5'>編寫程序</b>

    如何對狀態機程序進行靈活修改

    狀態機最主要的特點就是靈活性,這個優勢在程序后期的維護上更會顯示出來,本集中工程師將展現出狀態機是如何輕松對程序進行靈活修改,從而滿足日益復雜的開發要求。
    的頭像 發表于 06-14 03:19 ?3285次閱讀
    如何對<b class='flag-5'>狀態機</b>的<b class='flag-5'>程序</b>進行靈活修改

    狀態機概述 如何理解狀態機

    本篇文章包括狀態機的基本概述以及通過簡單的實例理解狀態機
    的頭像 發表于 01-02 18:03 ?1w次閱讀
    <b class='flag-5'>狀態機</b>概述  如何理解<b class='flag-5'>狀態機</b>

    FPGA:狀態機簡述

    本文目錄 前言 狀態機簡介 狀態機分類 Mealy 型狀態機 Moore 型狀態機 狀態機描述 一段式
    的頭像 發表于 11-05 17:58 ?7315次閱讀
    FPGA:<b class='flag-5'>狀態機</b>簡述

    狀態模式(狀態機)

    share,作者:亞索老哥)),原來狀態機還可以這么簡單地玩~~亞索老哥提出的狀態機六步法(1)、定義狀態接口(2)、定義系統當前狀態指針(3)、定義具體
    發表于 12-16 16:53 ?9次下載
    <b class='flag-5'>狀態</b>模式(<b class='flag-5'>狀態機</b>)

    分享一款狀態機自動生成工具

    為實用的軟件系統編寫狀態機并不是一件十分輕松的事情,特別是當狀態機本身比較復雜的時候尤其如此,許多有過類似經歷的程序員往往將其形容為"毫無創意"的過程,因為他們需要將大量的時間與精力傾
    的頭像 發表于 07-31 10:24 ?3169次閱讀
    分享一款<b class='flag-5'>狀態機</b>自動生成工具

    狀態機自動生成工具FSME

    為實用的軟件系統編寫狀態機并不是一件十分輕松的事情,特別是當狀態機本身比較復雜的時候尤其如此,許多有過類似經歷的程序員往往將其形容為“毫無創意”的過程,因為他們需要將大量的時間與精力傾
    的頭像 發表于 09-13 16:45 ?1417次閱讀
    <b class='flag-5'>狀態機</b>自動生成工具FSME

    什么是狀態機狀態機的種類與實現

    狀態機,又稱有限狀態機(Finite State Machine,FSM)或米利狀態機(Mealy Machine),是一種描述系統狀態變化的模型。在芯片設計中,
    的頭像 發表于 10-19 10:27 ?9054次閱讀