在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

西門子SCL建立功能塊ACQUIRE的步驟

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-04-15 09:52 ? 次閱讀

聲明部分的結構(Structure of the Declaration Section)

塊中的聲明部分包含以下子域:

常量:在CONST和END_CONST之間。

輸入參數:在VAR_INPUT和END_VAR之間。

輸出參數:在VAR_OUTPUT和END_VAR之間。

靜態變量:在VAR和END_VAR之間。也包括對EVALUATE塊的本地實例的聲明。

CONST
LIMIT := 7;
QUANTITY := LIMIT + 1;
END_CONST
VAR_INPUT 輸入變量聲明
measval_in :INT ; // 新測量值
newval :BOOL; // 在環形緩沖區"measvals"中的測量值
resort :BOOL; // 對測量值進行排序
funct_sel :BOOL; // Select calculation square root/square
newsel :BOOL; // 取得輸出地址
selection :WORD; // 輸出地址
END_VAR
VAR_OUTPUT 輸出變量聲明

result_out :INT; // 計算值
measval_out:INT; // 相應的測量值
END_VAR
VAR 靜態變量聲明
measvals:ARRAY[0..LIMIT] OF INT := 8(0);
resultbuffer:ARRAY[0..LIMIT] OF
STRUCT
squareroot:INT;
square:INT;
END_STRUCT;
pointer:INT:= 0;
oldval:BOOL:= TRUE;
oldsort:BOOL:= TRUE;
oldsel:BOOL:= TRUE;
address:INT:= 0; // 轉換后的輸出地址
outvalues_instance: EVALUATE;// 定義本地實例
END_VAR

靜態變量(Static Variables)

因為某些數據要保留到下一個程序循環,所以選擇FB塊類型。有些靜態變量在聲明部分"VAR, END_VAR"中聲明。

靜態變量是本地變量,其值保留貫穿每個塊處理過程。他們用來保留功能塊的值,且存貯在實例數據塊中。

初始化變量(Initializing Variables)

記住當塊被初始化時(下載CPU之后),在變量中鍵入初始值。功能塊EVALUATE的本地實例也在聲明子域"VAR, END_VAR"中聲明。其名字是以后調用和存取輸出參數使用的。共享的實例ACQUIRE_DATA用來存貯數據。

語句部分的結構(Structure of the Statement Section)

ACQUIRE的語句部分分為三個子部分:

獲取測量值:
如果輸入參數"newval"與"oldval"不同,則讀入一個新測量值到環形緩沖區。

啟動排序和計算:
比較輸入參數"resort"和"oldsort",發生改變時,通過調用EVALUATE功能塊啟動排充和計算。

求取代碼并準備輸出:
按字讀取代碼。根據SIMATIC轉換規則,意思是上開關組(字節0)包含輸入字的高8位,下開關組(字節1)包含低8位。下圖顯示代碼開關的位置。

計算地址(Calculating the Address)

下圖顯示如何計算地址:檢測取碼開關(位15)一個邊沿,輸入字IW0的12至14位包含了讀入的代碼。用標準函數SHR右移并用AND屏蔽相應的位得到“地址”。

地址用來將數組元素(計算結果和對應測量值)寫入輸出參數。是均方根據,還是平方值決定于"funct_sel"。

檢測到取碼開關的一個邊沿,是因為"newsel"和"oldsel"不同。

2dff77b6-dadf-11ed-bfe3-dac502259ad0.png

邏輯塊的語句部分如下:

BEGIN
(*****************************************************************
第1部分:獲取測量值。

如果"newval"值發生改變,則輸入了測量值。MOD運算是用來實現測量值用的環形緩沖區。
******************************************************************)
IF newval <> oldval THEN
pointer := pointer MOD QUANTITY;
measvals[pointer] := measval_in;
pointer := pointer + 1;
END_IF;
oldval := newval;
(*****************************************************************
第2部分:啟動排序和計算

如果"resort"發生改變,則啟動對環形緩沖區的排序和運行對測量值的計算。

結果存貯在一個新的叫"calcbuffer"的數組里。
******************************************************************)
IF resort <> oldsort THEN
pointer := 0; //復位緩沖區指針
eval_instance(sortbuffer := measvals); //調用EVALUATE
END_IF;
oldsort := resort;
resultbuffer := eval_instance.calcbuffer; //平方值和均方根

(*****************************************************************
第3部分:求代碼值和準備輸出

如果"newsel"發生改變,則計算用來輸出的數組元素的尋址代碼:屏蔽"selection"

的相應位并轉換為整數。依據"funct_sel"開關的設置,選擇"squareroot"或

"square"用于輸出。
******************************************************************)
IF newsel <> oldsel THEN
address := WORD_TO_INT(SHR(IN := selection, N := 12) AND 16#0007);
END_IF;
oldsel := newsel;
IF funct_sel THEN
result_out := resultbuffer[address].square;
ELSE
result_out := resultbuffer[address].squareroot;
END_IF;
measval_out := measvals[address]; //Measured value display
END_FUNCTION_BLOCK






審核編輯:劉清

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

    關注

    94

    文章

    3052

    瀏覽量

    116071
  • VaR
    VaR
    +關注

    關注

    0

    文章

    39

    瀏覽量

    11356
  • SCL
    SCL
    +關注

    關注

    1

    文章

    239

    瀏覽量

    17111

原文標題:西門子SCL 建立功能塊ACQUIRE(獲得)

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何去制作出完美的西門子的modbus Rtu/Tcp指令功能塊

    如何去制作出完美的西門子的modbus Rtu/Tcp指令功能塊?有哪些步驟可以分享一下嗎?
    發表于 07-02 06:44

    如何去使用西門子的modbus Rtu/Tcp通訊功能塊

    請問一下怎樣去制作西門子的modbus Rtu/Tcp通訊功能塊呢?如何去使用西門子的modbus Rtu/Tcp通訊功能塊呢?
    發表于 09-08 06:32

    淺談西門子PLC的“SCL語言”編程

    介紹西門子PLC的“SCL語言”編程,相關編程代碼
    發表于 01-22 17:25 ?0次下載

    西門子PLC的功能功能塊

    本文檔的主要內容詳細介紹的是西門子PLC的功能功能塊
    發表于 11-09 17:49 ?64次下載
    <b class='flag-5'>西門子</b>PLC的<b class='flag-5'>功能</b>和<b class='flag-5'>功能塊</b>

    西門子PLC系統功能塊和系統功能

    系統功能塊(SFB )和系統功能(SFC ) 已經編好程序 用戶不需要每個功能都自己編程。S7 CPU為用戶提供了一些已經編好程序,這些
    的頭像 發表于 12-23 17:55 ?1.2w次閱讀

    西門子TDC編程語言CFC功能塊詳細說明

    西門子TDC編程語言CFC功能塊詳細說明免費下載。
    發表于 04-22 10:06 ?22次下載

    西門子PLC中使用SCL語言編程的技巧

    西門子PLC中使用SCL語言編程的技巧說明。
    發表于 04-22 11:15 ?65次下載

    西門子PLC FB41中PID功能塊說明和調整方法

    西門子PLC FB41中PID功能塊說明和調整方法說明。
    發表于 04-22 11:48 ?13次下載

    淺談西門子PLC的SCL語言編程

    西門子PLC的SCL語言編程說明。
    發表于 04-22 14:39 ?47次下載

    淺談西門子SCL編程

    淺談西門子SCL編程資料免費下載。
    發表于 04-23 10:44 ?27次下載

    西門子TDC編程語言CFC功能塊詳細說明中文版

    西門子TDC編程語言CFC功能塊的詳細介紹說明。
    發表于 04-30 14:15 ?0次下載

    西門子SCL語言編程系列-寫立方根FB

    由于西門子PLC本身并沒有帶求立方根的指令,我們用SCL來寫一個求立方根的FB
    的頭像 發表于 02-06 15:17 ?1986次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>SCL</b>語言編程系列-寫立方根FB<b class='flag-5'>塊</b>

    普通電機功能塊的封裝

    學過西門子TIA(博途)的朋友都知道它的FC/FB非常好用,深受開發者的喜歡,今天我們簡單的講一個普通電機功能塊的封裝。
    的頭像 發表于 03-13 17:46 ?1562次閱讀
    普通電機<b class='flag-5'>功能塊</b>的封裝

    西門子PLC中OB功能詳解

    西門子PLC(Programmable Logic Controller)作為工業自動化領域的核心設備,其內部功能強大、應用廣泛。在西門子PLC中,OB(Organization B
    的頭像 發表于 06-15 11:27 ?4960次閱讀

    西門子流量累計FB介紹

    西門子流量累計FB(Function Block)是一種專門為處理和計算流量數據而設計的功能塊,它通常在博途(TIA Portal)軟件中被創建和使用。該功能塊的意義在于將復雜的流量
    的頭像 發表于 12-19 10:28 ?252次閱讀
    <b class='flag-5'>西門子</b>流量累計FB<b class='flag-5'>塊</b>介紹
    主站蜘蛛池模板: 欧美成人在线影院| 色综合一区二区三区| 人人揉揉香蕉大青草| 99色综合| 免费看日本黄色片| 天堂资源在线www中文| 婷婷五月五| 日韩美女三级| 天堂资源在线官网| 四虎成人精品在永久在线观看 | 成人综合在线观看| 91九色在线视频| 国产欧美日韩综合精品无毒| 日本黄色免费大片| 特级免费毛片| 欧美专区一区二区三区| 四虎影视免费| 欧美日韩在线一本卡| 好色999| 怡红院免费va男人的天堂| 成人伊在线影院| 天天做天天爱夜夜爽毛片毛片| 97久久精品国产精品青草| 天天干天天插天天| 国产毛片毛片精品天天看| 国产女人又爽又大| 中文字幕亚洲一区二区va在线 | 99国产国人青青视频在线观看| 天天做天天爱天天影视综合| 国产精品大片天天看片| 色黄视频| 久久久久国产成人精品亚洲午夜| 4438x成人网全国最大| 在线一区观看| 亚洲色图欧美视频| 免费爱爱视频| 亚洲午夜免费| 天天干天天碰| 男人资源在线| 精品久草| 国产成人午夜精品影院游乐网|