0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

最難還是模擬量

opkgjew ? 來源:PLC標(biāo)準(zhǔn)化編程 ? 2023-03-25 10:21 ? 次閱讀

說句實(shí)話,一開始,和大家一樣,我對(duì)模擬量是不太當(dāng)回事的。

我現(xiàn)在正在做的把LBP的架構(gòu)從S7-1500移植到S7-1200,然后再到SMART 200 +KTP觸摸屏。做了其它的塊,但對(duì)模擬量是不在乎的。心里想,自己都有80模擬量的標(biāo)準(zhǔn)答案例程在手了, 就沒必要在這方面多花心思了。 需要的時(shí)候隨時(shí)可以拿出來把例程的程序用上快速的很。

所以,就越過了模擬量, 想動(dòng)手搞PID塊的移植。

但卻感覺無從下手。 那些參數(shù)值設(shè)定值和運(yùn)行值的處理,完全沒有感覺。不知道對(duì)LBP的PID塊該如何解耦,哪些部分改掉換成SMART自己的控制, 哪些部分借用。

所以決定, 還是先把模擬量部分完善了吧!

然而一旦動(dòng)手開始搞了,才發(fā)現(xiàn)這里面的問題反而是最多的。

當(dāng)然,這里講到的問題并不是說原本我做的80模擬量的例子錯(cuò)了,或者不夠完善,不夠標(biāo)準(zhǔn)答案。

那里展示的只是調(diào)用的過程。

而我現(xiàn)在在做的就是FB塊的處理。 例子里面用到的那個(gè)模擬量處理的程序塊,功能還是太簡單了。

反對(duì)把物理單位作為一個(gè)參數(shù),還要在觸摸屏上運(yùn)行中或者設(shè)計(jì)模式進(jìn)行修改。 然而即便去掉了單位, 對(duì)一個(gè)模擬量的處理,也還是有許多參數(shù)的。

在對(duì)LBP的程序塊進(jìn)行簡化以后,它需要的參數(shù)分別有:

SP_rangeBegin 量程下限
SP_rangeEnd 量程上限
SP_limitAH 高報(bào)警
SP_limitWH 高警告
SP_limitWL 低警告
SP_limitAL 低報(bào)警
SP_timeout 超時(shí)時(shí)間
SP_hysteresis 遲滯區(qū)間

其中前兩者用于標(biāo)定量程范圍, 3-6用于判斷觸發(fā)報(bào)警,7-8用于對(duì)報(bào)警的遲滯處理。

有人或許會(huì)覺得啰嗦,就簡單標(biāo)定下量程的事, 搞這么復(fù)雜有意義嗎?

是的, 如果你還只是剛?cè)腴T階段實(shí)現(xiàn)控制任務(wù)就萬事大吉, 有人提出整改意見的時(shí)候再專心整改,那確實(shí)沒啥。

但如果你希望有一個(gè)一勞永逸的標(biāo)準(zhǔn)化的設(shè)計(jì),但凡客戶有可能提出的刁難問題,都提前想到,都事先做在里面,就有必要提前做些準(zhǔn)備了。 多做比不做強(qiáng),做了不用比用到的時(shí)候發(fā)現(xiàn)沒有相應(yīng)的功能而需要臨時(shí)打補(bǔ)丁,要強(qiáng)。

比如量程,如果設(shè)備運(yùn)行期間有需要進(jìn)行校準(zhǔn),那么就會(huì)有需求要你給做成參數(shù)。 而如果系統(tǒng)中有模擬量不僅僅用于顯示,還要參與邏輯判斷, 那么多數(shù)情況下需要比較限定值后做出邏輯處理,那么就有了限定值參數(shù)和遲滯參數(shù)的需求。 哪怕系統(tǒng)中只有個(gè)別模擬量有需要,也應(yīng)該盡量全部都做到,即為標(biāo)準(zhǔn)化。

而這些參數(shù)值,一方面需要運(yùn)行中修改設(shè)定,另一方面又不可能全部指望下載程序后在運(yùn)行畫面中輸入?yún)?shù)。 最理想的方式是,參數(shù)需要有一個(gè)初始值。 這個(gè)初始值未必準(zhǔn)確,未必符合最終設(shè)備運(yùn)行需要的參數(shù),但它至少有個(gè)八九不離十,大致可用。 總比一開機(jī)全部都是0, 全部都是報(bào)警提示要好得多。

有過軟件開發(fā)的程序員都應(yīng)該了解這樣一個(gè)常識(shí),所有軟件安裝后都要有一個(gè)初始配置。 比如微信軟件安裝后,會(huì)有基本的字體和配色,然而可以個(gè)性化修改設(shè)定。

對(duì)應(yīng)到工業(yè)系統(tǒng)工業(yè)設(shè)備,也存在一樣的需求。

然而,凡是對(duì)PLC編程有一定了解的人,都會(huì)知道,這個(gè)事情沒那么容易。 比如FB的IN管腳上一個(gè)參數(shù)值,你如果調(diào)用時(shí)給賦值了實(shí)參作為初始值,那么運(yùn)行中就不再可以修改。 除非修改程序源代碼完全重新下載程序。

而如果不給設(shè)置實(shí)參, 那么它就會(huì)以統(tǒng)一的初始值,大部分為0。而且FB的多個(gè)實(shí)例之間還都是同一套初始值配置。

所以,要兼具上述兩種功能的話,上述的參數(shù)值其實(shí)需要2套,分別對(duì)應(yīng)上述的功能。 那么在程序初次運(yùn)行時(shí),先采用初始值,而后運(yùn)行中這個(gè)值才可以修改。

對(duì)于模擬量信號(hào),后面的3-8條重要程度低一些,甚至可以統(tǒng)一設(shè)置,比如限制值都分別設(shè)置為90%, 80%, 20%, 10%,總差不多。

然而量程的上下限,則只能分成2套了。

由此,我在SMART 200中規(guī)劃的模擬量函數(shù)庫的變量接口表:

978a364e-cab3-11ed-bfe3-dac502259ad0.png

這是已經(jīng)做到了極致的簡化,已經(jīng)沒有再簡化的余地了。

然而看到,最后一個(gè)變量的地址是LD55, 即用到了LB58,已經(jīng)接近了SMART子程序的上限。后面只剩下 LB59一個(gè)BYTE了。

即地址空間已經(jīng)用光了,再無空間可用了。

問題就出現(xiàn)在了這里。

我按照LBP的架構(gòu)功能實(shí)現(xiàn)的邏輯,其中有LOG15功能記錄了設(shè)備的運(yùn)行記錄,最終觸摸屏顯示這個(gè)記錄時(shí), 需要這個(gè)記錄的地址指針。 應(yīng)該是一個(gè)DWORD, 原本是在L1層中生成的,需要輸出到其OUT管腳, 外層使用這個(gè)管腳獲得地址。

然而因?yàn)镾MART 200的資源限制,我已經(jīng)窮困到程序塊中接收這個(gè)地址的TEMP變量都沒有了。

所以迫不得已,我只好暫時(shí)先用了一個(gè)MD20的變量做了傳遞。

97abf5c2-cab3-11ed-bfe3-dac502259ad0.png

97b91d38-cab3-11ed-bfe3-dac502259ad0.png

我實(shí)在是太難了!

因?yàn)檫@一段的功能,是LBP也尚未考慮到的,所以多出來的邏輯還是自己再想辦法實(shí)現(xiàn)的。

有人會(huì)替我擔(dān)憂我在子程序塊中使用了M變量,是否會(huì)帶來錯(cuò)誤,會(huì)導(dǎo)致程序塊不能被重復(fù)調(diào)用。 這完全不必?fù)?dān)心。 因?yàn)樵俣嗟膶?duì)象實(shí)例, 使用的同一個(gè)變量,用過就丟了,無所謂。

也會(huì)有人指責(zé)我違背了自己承諾的PLC編程不使用全局變量的規(guī)則。 沒錯(cuò),我這兒也難受著呢!

如果不較真,整個(gè)程序中僅次一處使用M量,也不傷大雅。 如果較真,以后可以再看看想辦法做個(gè)場景保存和恢復(fù)的功能。

即,打一個(gè)補(bǔ)丁處理一下。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模擬量
    +關(guān)注

    關(guān)注

    5

    文章

    491

    瀏覽量

    25481
  • SMART
    +關(guān)注

    關(guān)注

    3

    文章

    223

    瀏覽量

    44642
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    331

    瀏覽量

    17878
  • LBP
    LBP
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    8939
  • S7-1500
    +關(guān)注

    關(guān)注

    3

    文章

    300

    瀏覽量

    6299

原文標(biāo)題:0323 【萬泉河】 最難還是模擬量

文章出處:【微信號(hào):PLC標(biāo)準(zhǔn)化編程,微信公眾號(hào):PLC標(biāo)準(zhǔn)化編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    模擬量和開關(guān)

    模擬量和開關(guān) 在控制系統(tǒng)中,一個(gè)常見的術(shù)語就是模擬量和開關(guān)。 不論輸入還是輸出,一個(gè)參數(shù)要么是
    發(fā)表于 12-11 11:38 ?3018次閱讀

    模擬量模塊接線方法 模擬量模塊編程詳細(xì)介紹

    模擬量類型的模塊有三種:普通模擬量模塊、RTD模塊和TC模塊。普通模擬量模塊可以采集標(biāo)準(zhǔn)電流和電壓信號(hào)。其中,電流包括:0-20mA、4-20mA兩種信號(hào),電壓包括:+/-2.5V、+/-5V
    的頭像 發(fā)表于 11-10 14:17 ?1.2w次閱讀
    <b class='flag-5'>模擬量</b>模塊接線方法 <b class='flag-5'>模擬量</b>模塊編程詳細(xì)介紹

    PLC模擬量說明

    PLC模擬量說明
    發(fā)表于 03-19 11:47 ?8次下載

    PLC模擬量的控制特點(diǎn)_PLC模擬量的分類

    對(duì)模擬量按一定時(shí)間間隔取值,稱為采樣。采樣后得到的值即為離散。顯然,離散在時(shí)間上是離散的,即只在采樣的瞬間代表當(dāng)時(shí)的模擬量值,其他時(shí)刻的模擬量
    的頭像 發(fā)表于 09-13 15:43 ?6497次閱讀

    plc中的模擬量信號(hào)如何讀取

    PLC讀取模擬量信號(hào)必須要有模擬量輸入模塊,即常說的AI模塊。
    的頭像 發(fā)表于 11-12 16:21 ?1.2w次閱讀

    什么是模擬量?什么是AI和什么是AO?AI是輸入還是輸出?

    什么是模擬量 模擬量是指一些連續(xù)變化的物理,如電壓、電流、壓力、速度、流量等信號(hào),模擬信號(hào)是幅度隨時(shí)間連續(xù)變化的信號(hào),通常電壓信號(hào)為0~
    的頭像 發(fā)表于 09-03 10:46 ?2.7w次閱讀

    什么是模擬量和開關(guān),有什么區(qū)別

    眾所周知,在控制系統(tǒng)中有兩個(gè)常見的術(shù)語,“模擬量”和“開關(guān)”。不論輸入還是輸出,一個(gè)參數(shù)要么是模擬量,要么是開關(guān)
    的頭像 發(fā)表于 12-18 14:58 ?4.2w次閱讀

    開關(guān)模擬量是什么,開關(guān)模擬量的轉(zhuǎn)換原理

    開關(guān)模擬量是什么?剛接觸工控行業(yè)的人可能不太清楚。先說什么是開關(guān)模擬量。有哪些功能,有什么區(qū)別? 開關(guān)
    發(fā)表于 02-05 16:45 ?1.1w次閱讀

    什么是模擬量,它的概念是怎樣的

    模擬量是什么? 模擬量是指一些連續(xù)變化的物理,如電壓、電流、壓力、速度、流量等信號(hào)模擬量是指幅度連續(xù)變化的信號(hào)
    發(fā)表于 03-03 14:59 ?2.9w次閱讀

    PLC模擬量及PID控制

    掌握模擬量的輸入及輸出,能使用模擬量輸入輸出模塊組成PLC模擬量控制系統(tǒng),并能根據(jù)工藝要求設(shè)置模塊參數(shù),
    發(fā)表于 04-23 11:03 ?35次下載

    模擬量和開關(guān)的區(qū)別

    模擬量和開關(guān)量具體的區(qū)別分別為:開關(guān)——是指輸出無源信號(hào),模擬量——是指輸出有源信號(hào)。常用的一些探測器接入的有源信號(hào)即是模擬量。
    發(fā)表于 06-16 16:07 ?2.8w次閱讀

    開關(guān)模擬量是什么

    開關(guān)是指輸出無源信號(hào),模擬量則是有源信號(hào)的輸出。通常使用探測器接入有源信號(hào)即模擬量。
    發(fā)表于 07-06 16:21 ?1w次閱讀

    常見的模擬量IO都有哪些種類?

    模擬量IO是指用于測量和控制模擬量信號(hào)的輸入輸出接口。
    的頭像 發(fā)表于 06-07 14:44 ?3153次閱讀

    請問PLC是如何讀取模擬量信號(hào)的?

    PLC讀取模擬量信號(hào)必須要有模擬量輸入模塊,即常說的AI模塊。
    的頭像 發(fā)表于 01-02 09:35 ?741次閱讀
    請問PLC是如何讀取<b class='flag-5'>模擬量</b>信號(hào)的?

    plc模擬量輸出怎么接線 plc模擬量輸出是什么信號(hào)

    PLC模擬量輸出(PLC Analog Output)是指在PLC系統(tǒng)中,根據(jù)輸入信號(hào)的大小,通過模擬量輸出模塊將數(shù)字信號(hào)轉(zhuǎn)換為模擬量信號(hào)輸出到外部設(shè)備。這種輸出信號(hào)可以是電壓或電流等連續(xù)變化的信號(hào)
    的頭像 發(fā)表于 02-05 14:46 ?4987次閱讀