999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

S7-200一維數組構建及時序狀態數組編程方法

2021-12-29 00:00:00車健生
科技創新與應用 2021年13期

摘" 要:隨著PLC應用日益廣泛,程序需求數量和設計難度增加,梯形圖經驗設計法中存在的試探性、隨意性、不易閱讀、難以維護等問題進一步凸顯。原因之一是其設計中忽視數據結構的建構與運用以及框架設計。文章提出了在S7-200下構建一維數組的梯形圖定義及初始化方法。以十字路口交通燈為例,闡釋了對于時序狀態周期性變化的一類題目PLC梯形圖編程框架式通用算法。

關鍵詞:PLC;梯形圖;S7-200;時序狀態;數組;十字路口交通信號燈

中圖分類號:TP273" " " " 文獻標志碼:A" " " " "文章編號:2095-2945(2021)13-0129-03

Abstract: With the increasingly wide application of PLC, the number of program requirements and the difficulty of design are increasing, and the problems existing in the empirical design method of ladder diagram, such as tentativeness, arbitrariness, and difficulty in reading and maintaining, are further highlighted. One of the reasons is that it ignores the construction and application of data structure and framework design. This paper presents the definition and initialization method of one-dimensional array ladder diagram in S7-200. Taking the traffic lights at crossroads as an example, this paper explains the PLC Ladder programming framework algorithm for a class of problems with fixed time sequence state cycle.

Keywords: PLC; ladder diagram; S7-200; timing status; array; crossroads traffic lights

在一般PLC梯形圖設計中,目前仍然多采用經驗設計法,經驗法設計靈活、構思巧妙,許多程序短小精悍。但是,經驗設計法“具有很大的試探性和隨意性”,設計出的“梯形圖不易閱讀,系統維修和改進也困難”[1]。其中原因之一是梯形圖編程中忽視了數據結構的設計與應用。比如,西門子PLC早期S7-200系列中,使用的只有基本數據類型,沒有提供數組等結構體類型。隨著PLC編程研究的深入,人們逐漸認識數組等數據結構類型的重要性。“采用數組式編程”“簡單可靠、通用性強,能實現復雜的邏輯控制”[2]。數組是一組類型相同的有序數據的集合。一般計算機程序設計語言,像C++、JAVA等,數組都是必不可少的組成部分。應用數組改善了程序的可讀性,也更接近于數學上的表示。數組可以使大量數據共享變量名,適合于用循環處理問題。

在S7-200系列中,通過子程序構建了數組梯形圖元件及操作。在數組這種結構類型對數據的有效組織基礎上,通過數據與算法適當分離的框架式設計,改善PLC程序的可讀性、可重用性和可擴展性。本文以十字路口交通燈控制系統PLC梯形圖為例,闡釋了對于時序狀態周期性變化的一類題目PLC梯形圖編程框架式通用算法。

1 S7-200一維數組梯形圖的定義與引用

S7-200提供了表處理指令,但把表作為數組去使用,則存在著數據元素只能是字數據,并且數組元素通過下標去訪問難以直觀體現。在PLC S7-200中,數組可定義為一組地址連續的字節、字或雙字元素單元區域(集合)。數組由數組起始單元地址和元素個數唯一確定。規定元素個數放在數組起始單元中,數組元素下標從1開始。編程者在統籌規劃好存儲單元,避免數組與其它存儲單元沖突,一般可選擇V存儲器區域,這部分區域較大。梯形圖通過建立子程序定義數組元件及指令盒,為使用方便且保持梯形圖直觀性特點,分別定義“寫入數組元素值”和“讀出數組元素值”兩個指令盒及對應子程序,如圖1。可通過FOR循環等使用前者為數組元素賦值,經過數據處理,再用FOR循環通過后者輸出元素的值。以上是以字節為元素構造的數組,對于以字元素、雙字元素構造數組可同理類推。

2 梯形圖數組的初始化

對于一些離散數據,排列無規律可循,一般高級計算機編程語言都提供了這樣的初始化方法:數組名[常量]={常量1,常量2,……,常量n}。數組梯形圖元件可以通過字符串復制、連接等方法構建這種數組初始化方法。S7-200 中字符串的每個字符以字節形式存儲,字符串的第一個字節定義字符串的長度,即字符數,字符串的長度可以是 0 到 254個字符。本文依照通行作法約定:數據之間用逗號加空格隔開,如圖2網絡1中字符串。這種形式的字符串,稱之為字符串常數,S7-200限制為126 個字節。

例如,要在VB1000處建立一個字節數組并對其初始化。本程序不失一般性地假定占用VB2000開始的256個字節連續存儲單元(高端不常用地址),用于接收初始化的字符串形式的數值。存儲字符串一般使用STR_CPY進行第1次字符串常數的填充,如果字符串較長,再用STR_CAT進行后面若干次字符串常數的追加,如圖2網絡1-4。

數字字符串轉數值數組子程序Num_Str_Array梯形圖如圖3。字符串轉換整數指令S_I可以轉換具有[空格][+或-][數字],當到達字符串的結尾或者遇到第一個非數字(0~9)字符時,轉換結束[3]。子程序對數字字符串進行第1次字符串至整數轉換后,再通過循環向右依次推進搜索逗號,把逗號位置賦值給AC0,從相鄰下一位置開始字符串轉換整數操作,并將結果存入AC1;然后再將AC1依次保存在數組VB1000之中,直到逗號搜索不到為止。如果要查看數字字符串轉數值數組子程序執行效果可參照圖2給出的程序,它由兩部分構成:數字字符串接收和調用子程序Num_Str_Array。在STEP 7 micro/win監控模式執行,狀態表上可查看到如圖4的存儲單元變化情況。

3 時序狀態數組梯形圖編程算法

所謂時序狀態數組梯形圖編程算法,是指對時序狀態呈周期性變化的一類題目,用數組表示周期內中順次時序狀態,狀態包括輸出位狀態及持續時間,算法根據數組實現整個系統的控制。十字路口交通燈控制系統是PLC編程實例中耳熟能詳的題目,大多PLC教程都有這個實例,實現方法很多。運用時序狀態數組梯形圖編程方法加以實現是一種新的設計。

交通信號燈控制系統根據東西方向和南北方向紅綠燈亮分配的時間不同,題目有所不同,這里不失一般性地假定:東西和南北方向紅綠燈亮持續相同,黃燈只亮但不閃爍,具體狀態、持續時間由表1給出。通過歸納綜合,交通信號燈控制系統就是表1中的4種狀態順序循環往復的過程。表中0表示對應燈滅,1表示亮,左欄時間以100毫秒為單位。Q0.1~Q0.6順次表示南北紅、黃、綠燈,東西紅、黃、綠燈。

交通信號燈控制時序狀態數組法主程序,有數據初始化部分(如圖2)和時序狀態數組轉化Q輸出兩部分組成,如圖5。前者負責接收以字符串形式表示時序狀態數據,并調用數字字符串轉數值數組子程序Num_Str_Array。后者負責依次讀出狀態數組每行狀態數據,并轉化Q輸出。具體來說,循環體由FOR指令讀其中6個交通燈信號,程序如圖5,和讀出的1個狀態持續時間并延時(梯形圖部分略)構成,循環控制循環體依次讀出已存入數組的表1中的4種狀態數據,并轉化Q輸出。再通過比較循環次數AC0大于28,修改AC0值為1,開啟下一周期的信號燈循環(梯形圖部分略)。對于像S7-1200這種含數組類型的系統,可直接使用系統提供的數組及初始化,替換掉圖2部分程序。

4 結束語

梯形圖從誕生之日起,以其直觀、形象的特點為廣大工程技術人員所推崇。在順序功能圖設計廣為成功的今天,經驗法設計以其靈活、高效,也是不可或缺。在S7-200等一些早期系統上創建數組,加強數據結構設計正是基于這種考慮。

十字路口交通燈時序狀態數組梯形圖程序實現了數據與算法的適當分離,程序可讀性、可重用性都顯著提高。數據變化,程序基本無需調整,所以適合于不同長度的信號延時,以及南北方向與東西方向信號延時不等的情況。對于音樂噴泉控制、天塔之光控制等,這種啟動后不再進行人機交互,時序狀態周期性循環的系統,只修改其數據部分和輸出Q部分等少量語句即可實現程序移植。C++、JAVA等高級計算機語言為了高效開發程序,倡導對一類問題具有整個或部分系統的可重用的框架編程設計思想,時序狀態數組梯形圖編程算法對提高PLC梯形圖編程的重用性、可擴展、可維護及代碼模板化等都有一定的啟示作用。

參考文獻:

[1]巨向麗.順序控制設計法在PLC控制系統中的應用[J].山東工業技術,2015(2):194.

[2]時文飛.數組式編程方法在PLC編程中的應用[J].電氣傳動,2014,44(1):85.

[3]韓戰濤.西門子S7-200 PLC功能指令應用詳解[M].北京:電子工業出版社,2014:169.

主站蜘蛛池模板: 国产一级毛片网站| 成人午夜久久| 国产精品妖精视频| 在线不卡免费视频| 人人妻人人澡人人爽欧美一区 | 日韩在线中文| av一区二区无码在线| 亚洲成A人V欧美综合天堂| 亚洲中文字幕无码mv| 日本高清有码人妻| 日韩精品成人在线| 色综合色国产热无码一| 久久特级毛片| 2021天堂在线亚洲精品专区| 欧美视频二区| 91精品国产无线乱码在线| 国产av色站网站| 国产美女在线观看| 中文字幕佐山爱一区二区免费| 欧美日本在线播放| 日韩久久精品无码aV| 青青草原国产免费av观看| 久久无码av三级| 国产主播喷水| 黄色网页在线播放| 亚洲另类色| 婷婷午夜影院| 国产在线一区视频| 国产精鲁鲁网在线视频| 国产成人夜色91| 亚洲成人网在线观看| 成人国产精品一级毛片天堂 | 精品国产www| 91福利免费| 久久这里只精品国产99热8| 中文字幕第4页| 蜜桃臀无码内射一区二区三区 | 国产精品页| jizz在线观看| 国产精品亚洲欧美日韩久久| 无码一区二区波多野结衣播放搜索| 国产一级小视频| 久久99精品久久久久纯品| 无码高清专区| 黄色国产在线| 国产波多野结衣中文在线播放| 综合色婷婷| 久久91精品牛牛| 日韩精品毛片| 欧洲av毛片| 极品国产一区二区三区| 麻豆AV网站免费进入| 国产黄色免费看| 久久77777| 爱色欧美亚洲综合图区| 亚洲二区视频| 成人免费网站在线观看| 啪啪永久免费av| 久久国产亚洲偷自| 欧美精品v日韩精品v国产精品| 青青青国产免费线在| 波多野结衣一区二区三区四区视频 | 色丁丁毛片在线观看| 亚洲精品麻豆| 亚洲黄色激情网站| 欧美在线视频a| 在线观看免费黄色网址| 国模视频一区二区| 尤物特级无码毛片免费| 久久久久夜色精品波多野结衣| 98精品全国免费观看视频| 91色在线视频| 啪啪国产视频| 欧美一级高清片欧美国产欧美| 国产亚洲欧美在线人成aaaa| 亚洲第一色网站| 一级一毛片a级毛片| 日韩在线视频网站| 亚洲另类色| 麻豆国产精品一二三在线观看| 亚洲精品波多野结衣| 狠狠做深爱婷婷久久一区|