五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

羅克韋爾(AB)PLC講解,創(chuàng)建一個新的“Add On指令”

2022-10-01 11:56 作者:技術研究  | 我要投稿

創(chuàng)建一個新的指令的工作流程包括:

? ? ?? 預先設計或技術規(guī)格-一個小計劃將促使長久的發(fā)展。

? ? ?? 創(chuàng)建指令框架-選擇指令邏輯的語言,預/后掃描行為,版本選擇等等。

? ? ?? 指令的固定標簽結構-參數(shù)與本地標簽。很顯然,此處做的選擇在不同語言環(huán)境下會影響外觀、條件和驗證要求。

? ? ? ? ?在本次實驗中,創(chuàng)建一個常規(guī)目的指令來模擬一個帶有變量滯后和時間常數(shù)的連續(xù)過程(適用于一階滯后)。

輸入為: 信號輸入(浮點型,固有單位) 滯后時間(浮點型,秒)

時間常數(shù)(浮點型,秒)

輸出為: 信號輸出(浮點型,固有單位)

1、在下拉菜單中,右鍵單擊‘Add-On Instructions’文件夾,然后選擇‘New Add-On Instruction…’。


2. 完成所示的Add-On 指令對話框。


值得注意的是一個Add-On指令能夠用以下任何一種語言來編寫:梯形圖、功能塊或結構化文本。

3. 單擊OK完成。

4. 許多新條目出現(xiàn)在控制器項目管理器中。


5. 右擊新創(chuàng)建的Add-On指令:‘Simulation_DT_1st’,然后在下拉菜單中選擇‘Open De?nition’。


6.現(xiàn)在‘Add-On Instruction De?nition’編輯器應該可以使用。


? ‘General’選項卡包括所有在指令創(chuàng)建時首先要輸入的條目。

? 以‘Revision Note’為形式的版本信息,其形式自由并且能由用戶單獨更新和強制,沒有版本自動跟蹤機制。

? 窗口底部有許多用戶經(jīng)常使用的條目?!甃ogic’按鍵可以立即打開該指令的邏輯例程。

? ‘Data Type Size’記錄了指令數(shù)據(jù)所使用的內(nèi)存數(shù)量(以字節(jié)為單位)。

7. 單擊參數(shù)選項卡,查看指令中的參數(shù)。


通過任務的詳述說明,以下為我們所知一定包含在定義中的參數(shù)。

每個Add-On指令中‘EnableIn’和‘EnableOut’參數(shù)是預先確定而且為缺省值。‘EnableIn’由每種語言環(huán)境的特定因素決定,而且可以被用作特殊功能。這是一個高級主題,超出了本實驗范圍。‘EnableOut’通常與‘EnableIn’的狀態(tài)保持一致,但是也可以由用戶編程控制參數(shù)。

‘Parameters’選項卡是與該Add-On指令相關的標簽數(shù)據(jù)庫編輯器窗口,并包括一些已定義的特定字段:Usage、Alias For 、Default、Style 、Req、Vis、Description、External Access、Constant。

‘Usage’允許用戶指定參數(shù)為: ‘Input’指令的輸入?yún)?shù)(支持基本數(shù)據(jù)類型) ‘Output’ 指令的輸出參數(shù)(支持基本數(shù)據(jù)類型)

‘InOut’通過‘按參考方式’傳遞到指令的參數(shù)(任何數(shù)據(jù)類型包括用戶自定義結構類型、數(shù)組等等)

‘Alias For’ 允許用戶將該參數(shù)定義為本AOI的某local tag(或其下一級tag)的別名參數(shù)。可以通過下拉菜單進行選擇。只有‘Input’和‘Output’類型的參數(shù)才可定義別名。

‘Default’允許用戶為相關參數(shù)指定缺省值。這個數(shù)值是指令首次創(chuàng)建時指令調(diào)用實例標簽的參數(shù)值?!甋tyle’設定參數(shù)的顯示格式,如二進制、八進制、十進制、十六進制、日期/時間、指數(shù)、浮點數(shù)。

‘Req’-當在例程中使用指令實例時,點選‘Required’復選框的參數(shù)將強制用戶輸入一個標簽或者對這個參數(shù)進行一個功能塊連接。該修改符定義了本編程語言的校驗行為。缺省情況下,‘Required’參數(shù)也是‘Visible’的。

‘Vis’-當在例程中使用指令時,點選‘Visible’復選框的參數(shù)將可見。因為修改符的使用,導致了一些取決于指令示例中使用的數(shù)據(jù)類型和語言(LD、FB、ST)的結果不同。

‘Description’字段很重要,因為在此處使用的任何信息都將會‘傳遞’到用戶程序的任何一個指令實例中。這種‘自身文檔’可用于描述指令的使用情況、單位等等。不超過512個字符。

‘External Access’設定外部設備(如人機界面)訪問該參數(shù)的權限。有三種不同的權限:Read/Write(可讀寫)、Read Only(只讀)、None(不可訪問)。

‘Constant’設置該參數(shù)是否為常數(shù)。如果選擇了該項,則可避免參數(shù)值被AOI外部邏輯修改,但AOI內(nèi)部邏輯可以修改該參數(shù)值。

用戶可以隱藏或顯示某列,(在該列標題行點擊鼠標右鍵,根據(jù)出現(xiàn)的菜單操作)。

8.從任務規(guī)范中可以看出,下列是必須包含在定義中的參數(shù): 輸入:

? Name:SimInput

? Usage:輸入?yún)?shù)

? Data Type:實型

? Default:0.0

? Required*(選擇)

? Visible(選擇)

? Description:仿真輸入

? External Access:讀/寫

* 這個參數(shù)是‘Required’,因為仿真必須要有輸入。默認情況下,‘Visible’隨‘Required’變化而變化。另外,External Access設為讀/寫,這意味著外部設備(如人機界面)可以讀且可以改寫該參數(shù)。

? Name:SimDeadtime

? Usage:輸入?yún)?shù)

? Data Type:實型

? Default:0.0

? Not Required* (不選擇)

? Not Visible (不選擇)

? Description: 停滯秒數(shù)

? External Access:讀/寫

* 這個參數(shù)被認為是可選參數(shù)并且默認情況為不是‘Required’或‘Visible’,但是仍然可以訪問或者被用戶操控。


? Name: SimTimeConstant

? Usage:輸入?yún)?shù)

? Data Type : 實型

? Default:1.0

? Not Required* (不選擇)

? Visible (選擇)

? Description:時間常數(shù)(秒)

? External Access:讀/寫

* 這個參數(shù)被認為是可選參數(shù)并且為不是‘Required’,但是為了用戶輸入它應該為‘Visible’。


此指令的輸出:

? Name:SimOutput

? Usage:輸出參數(shù)

? Data Type: 實型

? Default:0.0

? Not Required (不選擇)

? Visible* (選擇)

? Description:仿真輸出

? External Access:只讀

* * 對于用戶連接來說,輸出應該為‘Visible’,但是不選擇‘Required’(它可以直接通過標簽數(shù)據(jù)庫訪問)。另外,External Access設為只讀,這意味著外部設備(如人機界面)只能讀該參數(shù),而無法更改該參數(shù)值。如果External Access設為‘None’,則外部設備看不到該參數(shù)。


9. 在定義參數(shù)表中輸入這些參數(shù)和規(guī)范。


‘Signature’選項卡允許用戶設置對AOI進行封裝和簽名,以防他人更改。該選項卡還顯示簽名歷史記錄。


10. 單擊Apply完成修改。

11.單擊一次Logic按鍵打開空白的功能塊例程(這是控制器項目管理器的Add-On指令文件夾中命名為‘Logic’ 的例程)。


Add-On指令中的‘Logic’例程與其他語言類型的例程一樣,只是功能塊額外在右上角(更多在其后)帶有‘Data Context’下拉菜單。

在‘Logic’中編寫邏輯遵循相同規(guī)則和約定,就好像在控制器中的任何地方編寫一個標準例程。

該指令的仿真邏輯會包括FB DeadTime Block(DEDT)和一個FB LeadLag Block(LDLG)

12. 將DEDT和LDLG功能塊加入到這頁上。


結果如下:


13. 雙擊DEDT功能塊上的問號然后輸入DA1,點Enter完成。


14. 右擊‘DA1’,然后從下拉菜單中選擇‘New ParameterDA1’…’。


15. 完成‘Parameter/Local Tag Prosperities’對話框如下:


16. 單擊OK完成。

InOut’是為指令指定該數(shù)據(jù)‘按參考方式’進行傳遞。這就等同于將‘數(shù)據(jù)的指針’傳到指令,代替?zhèn)鬟f‘數(shù)據(jù)的數(shù)值’。這是使用數(shù)組、預定義結構體或UDT作為Add-On指令輸入的合適方式?!?strong>InOut’參數(shù)將在‘使用新的指令’部分進一步討論。

17.打開DEDT的屬性,選擇‘Parameters’選項卡顯示DEDT功能塊的‘Dead Time’輸入?yún)?shù)和‘DeadtimeInv’ 輸出參數(shù)并‘點選’那些參數(shù)的可見性。


18. 單擊ApplyOK完成修改。

19.打開LDLG功能塊的屬性,顯示‘Lag’參數(shù),然后‘點選’參數(shù)的可見性。


20. 單擊ApplyOK完成更改。


21. 在此頁上放置3個輸入?yún)⒖?IREF)。

22. 連接如下:

? DEDT.In

? DEDT.Deadtime

? LDLG..Lag

顯示如下:


23. 將DEDT.Out連接到LDLG..In


24. 雙擊第一個IREF然后輸入‘SimInput’,既可以直接鍵入,也可以下拉選擇標簽。


25. 重復先前步驟,將輸入?yún)?shù)‘SimDeadtime’放置到第二個IREF。

26.再次重復,將輸入?yún)?shù)‘SimTimeConstant’放置到第三個IREF。邏輯應該如下所示:


27. 在此頁上放置一個輸出參考(OREF)。


28. 將它連到LDLG..Out上

29. 雙擊輸出參考(OREF),然后鍵入‘SimOutput’(輸出參數(shù)是以前定義的)。


考慮到FB滯后時間功能塊(DEDT)的特性,輸入的定時/延時時間值很可能使得100個元素數(shù)組不夠用,所以,比較適合的做法是,把相關的錯誤信息位(DEDT_01.DeadtimeInv)作為一個輸出參數(shù),這樣就能夠在指令外部監(jiān)視此錯誤狀況。

30. 在本頁上放置另一個輸出參考(OREF)并將其連到DEDT.DeadtimeInv上。

31. 雙擊一個新的輸出參考(OREF)然后鍵入‘SimDTInv’。單擊Enter接受。


32. 右擊‘SimDTInv’,然后從下拉菜單中選擇‘New Parameter‘SimDTInv…’。


33. 完成的‘New Parameter’對話框顯示如下:



34.單擊OK完成。

通過這種方式,可以在邏輯編輯器中創(chuàng)建新參數(shù),這與在定義參數(shù)中創(chuàng)建它們一樣容易。邏輯定義應該如下所示:


35. 關閉‘Logic’例程。

36. 如果在屏幕上還沒有存在,右擊控制器項目管理器中的Add-On指令 ‘Simulation_DT_1st’,打開AOI定義,然后從下拉菜單中選擇‘Open De?nition’。

37. 單擊Parameters選項卡查看指令中的參數(shù)。


38.單擊Local Tags選項卡:


確切地說,Local Tags是指令自己本身使用的標簽,而不是用戶使用的標簽。因此,當指令在例程中使用時,這些Local Tags標簽在數(shù)據(jù)結構中是不可見的。典型的使用是作為AOI的內(nèi)部標簽或者作為一些操作的中間變量使用。這些標簽只在指令內(nèi)部可見。

注意,功能塊標簽創(chuàng)建時默認為Local Tags。通常,支持標簽(backing tag)不作為參數(shù)來使用,而作為內(nèi)部標簽。這對于任何一個包含標簽結構的指令都是適用的,如:定時器、計數(shù)器、功能塊、嵌套的AOI等等。

使用內(nèi)部的指令幫助文件

1. 單擊Help選項卡:


Help’選項卡包含了指令幫助預覽,它由用戶提供的信息自動產(chǎn)生等。

2. 下拉滾動條找到‘Available Languages’部分。



這部分顯示了每種可用的語言(RLL、FB和ST)中指令的默認外觀。

3. 繼續(xù)下拉滾動條,可見顯示所有指令參數(shù)、用法、類型和修改符的表格。

再下面是可選的‘Extended Description’,它是在選項卡最頂部‘Extended Description’字段中由用戶定義的更詳細的使用說明,以及指令修改的歷史記錄。修改的歷史記錄會跟蹤上次編輯日期以及指令的創(chuàng)建時間。

這就是當訪問RSLogix5000指令幫助時,指令‘Help’的顯示外觀。

4. 關閉AOI定義編輯器窗口。

5.校驗整個控制器程序。


應該校驗控制器程序保證沒有任何問題。如果接收到一個錯誤,詢問指導教師查出項目哪里出錯了。

目前為止,我們已經(jīng)開始了一個新的RSLogix 5000工程并創(chuàng)建了一個Add-On指令,鍵入了必須的參數(shù)和將執(zhí)行的邏輯。我們還沒有真正地使用它。這即將在下一步。

使用新的指令

新的指令可以在梯形圖邏輯、功能塊或結構化文本語言(包括SFC Action中的結構化文本語言)中使用。指令的可見性遵循所處環(huán)境。在‘Parameter’定義中的參數(shù)屬性中選擇每種語言的輸入、校驗和可見性行為。

以前在功能塊語言中創(chuàng)建的Add-On指令能夠使用在任何標準指令編輯器中。

指令工具欄有一個‘Add-On’選項卡,上面列寫了全部的當前程序中可利用的Add-On指令。

梯形圖邏輯實例

1. 打開‘MainTask’中‘MainProgram’的‘MainRoutine’(默認情況下,這是一個梯形圖邏輯例程)。


2. 在一個空的梯級上單擊指令工具欄上Add-On選項卡中的Simulation按鍵,放置一個‘Simulation_DT_1st’指令。


后面帶一個問號(?)的參數(shù)需要鍵入一個標簽名。如下:

? Simulation_DT_1st

類型為‘Simulation_DT_1st’的標簽作為這個指令中不可重名的數(shù)據(jù)實例。這個非常像TON指令中提及的定時器結構體。

? SimInput 需要一個實型標簽作為輸入?yún)?shù)。

? DA1 需要一個實型數(shù)組暫存中間數(shù)據(jù),數(shù)組至少有100個元素。

后面帶有雙問號(??)的參數(shù)填寫的是標簽值。這些字段顯示那些參數(shù)的當前值。

3.雙擊第一個問號(?),然后鍵入‘LDsim1’作為指令的參數(shù)。單擊Enter完成。


4. 右擊 ‘LDsim1’ 條目,然后選擇‘New“LDsim1”…’。


5. 完成‘New Tag’對話框如下。


6. 單擊【OK】完成。

7. 在指令中鍵入另外兩個標簽并創(chuàng)建它們。

SimInput

? Name: RealValue1

? Type:Base

? Data Type: 實型

? Scope:MainProgram

DA1

? Name:deadarray1

? Type:Base

? Data Type:實型[100]

? Scope: MainProgram

8.校驗RLL例程:


RLL例程如下:


9. 回顧之前指令定義中創(chuàng)建的參數(shù)選項卡信息如下:


‘Visible’參數(shù)值顯示在指令上?!甀nOut’例外。

在梯形圖邏輯中,一個布爾型的輸出參數(shù)指定為‘Visible’(而不是‘Required’)在指令上會表現(xiàn)為‘位類型’引腳。這與‘SimDTInv’輸出參數(shù)的例子一樣。

‘Required’參數(shù)需要用戶在指令校驗前鍵入一個符合這個參數(shù)的正確標簽變量。

?考慮‘SimDeadTime’參數(shù)。利用以下的RLL MOV指令(或一些相似一個數(shù)值。


10.單擊屬性按鈕 ,查看指令的參數(shù)。



在這里

注意RLL指令中的可見性不能改變時,‘Visibility’列不起作用。

* 在指令定義中作為‘本地標簽’創(chuàng)建的標簽在哪?

11.按以下信息修改‘SimDeadtime’和‘SimTimeConstant’參數(shù)值:


12.單擊ApplyOK完成更改

功能塊實例

1. 在‘MainProgram’下創(chuàng)建一個名為‘FB1’功能塊例程。


2. 打開‘FB1’功能塊例程,顯示例程編程域。


3. 單擊Logix5000工具欄上的Add-On選項卡,在功能塊編程域內(nèi)放置一個‘Simulation_DT_1st’指令。


與參數(shù)相關的引腳已經(jīng)在指令定義中指定為‘Visible’,默認情況下在指令中可見。

指令的數(shù)據(jù)標簽‘Simulation_DT_1st_01’已經(jīng)創(chuàng)建完成。這與任何一個在功能塊語言環(huán)境下創(chuàng)建的指令一致。

4。 雙擊DA1對應的問號(?)并鍵入‘deadarray2’。按Enter完成。


5.右擊剛才創(chuàng)建的 ‘deadarray2’ 條目,然后選擇‘New “deadarray2”…’


6. 完成‘New Tag’對話框如下,注意Data Type。


7. 單擊OK完成。

8.此時校驗例程。


9. 注意報告的錯誤信息:


在指令定義中,‘SimInput’指定為‘Required’參數(shù)。在功能塊語言環(huán)境下,同樣要求連接另一個功能塊。觀察‘SimInput’參數(shù)的引腳。


輸入引腳末端的‘結點’指示該參數(shù)需要連接到其他功能塊。直到所有的‘required’參數(shù)都有連接(要求的輸入和輸出類似),該指令才會校驗無誤。

10. 在頁面上放置一個輸入?yún)⒖?IREF),然后將它與‘SimInput’連接在一起。


11. 雙擊IREF,然后鍵入RealValue1(這個輸入標簽與在RLL部分使用過的標簽一樣)。按Enter完成。


12.校驗例程(這時例程應該顯示無誤)。

13.單擊屬性按鈕,顯示指令參數(shù)。



注意‘Visible’列生效。這個適合功能塊語言環(huán)境,在此環(huán)境下,可以增加可選參數(shù)的功能性。

14. 按以下信息修改‘SimDeadtime’和‘SimTimeConstant’參數(shù)的值。

15.單擊ApplyOK完成更改。

結構化文本實例

1. 在‘MainProgram’下創(chuàng)建一個新的名為‘ST1’的結構化文本例程。


2. 打開‘ST1’結構化文本例程顯示編程域。


3. 從指令工具欄、插入/選擇或只是簡單的鍵入, 添加一個‘Simulation_DT_1st’指令。


工具提示框顯示了指令中所必需的參數(shù),以實現(xiàn)校驗無誤。注意只有指令的支持標簽(backing tag)和在定義中指定為‘Required’的參數(shù)是唯一在結構化文本執(zhí)行過程中出現(xiàn)的。

4. 右擊‘Simulation_DT_1st’,然后從下拉菜單中選擇‘Argument List…’。


5. 按如下變量完成‘Argument List’。


6.單擊Apply和OK完成更改。


7.完成帶有如下標簽的結構化文本指令。在標簽上右擊,然后選擇‘NewTag’創(chuàng)建標簽。

? Name: stsim1

? Type: 基本型

? Data Type:Simulation_DT_1st

? Scope:MainProgram

? Name: RealValue1 *‘RealValue1’ 已經(jīng)存在了。

? Type: Base

? Data Type:實型

? Scope:MainProgram

? Name: deadarray3

? Type:Base

? Data Type:實型[100]

? Scope:MainProgram

* 在每行的末端使用分號終止結構化文本。


若要直接修改支持標簽(backing tag)值,則必須通過指令屬性或標簽數(shù)據(jù)庫視圖完成。

8.校驗ST例程。


9. 右擊指令,然后在下拉菜單中選擇‘Prosperities’。


10. 在指令屬性選項卡中,修改‘SimDeadtime’和‘SimTimeConstant’的參數(shù)如下:


11. 單擊ApplyOK完成更改。

正如上三部分所示,在Add-On指令設計階段,參數(shù)的VisibleRequired修改符的使用必須要考慮在其中。語言類型應該總在考慮范圍之內(nèi)。



羅克韋爾(AB)PLC講解,創(chuàng)建一個新的“Add On指令”的評論 (共 條)

分享到微博請遵守國家法律
微山县| 珠海市| 新巴尔虎左旗| 上蔡县| 新蔡县| 察隅县| 南丰县| 神木县| 望城县| 来凤县| 双柏县| 恩施市| 扎兰屯市| 青冈县| 辉县市| 宁晋县| 湘潭县| 杂多县| 南康市| 达日县| 嘉兴市| 郴州市| 日喀则市| 广汉市| 宁河县| 通化市| 东平县| 鹤庆县| 游戏| 沁水县| 无为县| 鄱阳县| 怀柔区| 乌拉特中旗| 贵南县| 永宁县| 舟山市| 师宗县| 水富县| 昭觉县| 华蓥市|