Zui近幾天論壇火熱,有大蝦表示PLC編程中不用M和T。我發現大家有些觀點有誤,這段時間比較忙,但忍了很久,實在忍不住了,抽半天時間寫篇文章。
用不用先不說,首先得知道M和T究竟是什么?T有點特殊,先不談,把M搞清楚了T就容易搞清楚。
如果學過單片機或計算機原理或嵌入式等硬件課程的就不用看了,因為這是非常基礎的概念,我今天不用電子技術的語言來說,所以語言會不太嚴謹,主要目的是用通俗易懂的語言讓搞PLC的人聽懂,請大蝦手下留情不要把我臉打腫了。
先說說我接觸編程的過程,我是學硬件的,編程Zui先學的是51單片機和X86匯編,然后學C/C++,Zui后才學的PLC,編程掌握不好,即使到今天我也無法準確闡述什么是面向對象!先自己打臉,但這不影響我用PLC做項目。
其實PLC是Zui像單片機的,完全就是單片機的硬件升級軟件簡化版本,扯遠了!
下圖是西門子S7-200手冊里關于存儲器結構的介紹。左邊這個RAM就是今天的主角。
下圖是對數據存儲器的定義:
下圖來看數據存儲區究竟有些啥,請注意看M區:
看了上圖可能明白了,M存儲區在數據存儲區,數據存儲區又在RAM中。RMA長啥樣?
下圖左上那個蜈蚣狀的CY62256就是西門子S7-222CPU的RAM。
就是塊集成電路,我還是看不懂!那就“拆”開給你看。下圖就是內部結構:
沒錯,它就是一堆“房間”,32k字節。S7-222CPU使用了2k字節的存儲空間,不管你是M還是T還是C,還是V,通通都在這里面。
那么如何在這一堆房間里訪問找到我需要的那個她呢?看上圖中A0---A14,這就是地址線,就是訪問這些房間的地址,通過這些房間就能訪問M、T、C、V等等。
那么M和V有什么區別嗎?半毛區別都沒有!除了把M區放到MCU高速緩存中的PLC結構,像西門子S7-200系列這樣的都是放到一個存儲芯片中的。
文章開頭說過,T跟M還有點不一樣。對的,因為有些PLC的有些T是由硬件產生的,那就是集成在MCU里的硬件定時器,比如西門子S7-300就有硬件定時器。那么C呢?C也有硬件計數器和軟件計數器之分,硬件計數器同樣是由集成在MCU里的硬件來完成的。當然,PLC已經做好了,把這些硬件T、C的數據都映射(復制)到RAM里了,我們直接訪問RAM就可以了,不用關系那些硬件T和C。當然,如果你喜歡,PLC也是有指令讓你能夠直接訪問這些硬件計數器的,比如臺達就可以直接去讀硬件計數器的當前值。
說了這么多如何證明M和V都是在一個芯片里呢?
那就是PLC提供了juedui地址訪問功能,比如寄存器尋址,一個數據寄存器里存放的數據是一個地址數據,對的這個地址數據就是juedui地址,就是上圖A0-----A14這個地址。
再來看看國貨之光匯川的PLC對存儲空間的定義,下圖:
這個就更清晰了,M和D有區別嗎?半毛區別都沒有!其實還是有區別的,唯一的區別就是M區能讓我們很方便的進行位尋址。
那么不用M可以嗎?當然可以!不過,既然M和D(V)沒有區別,我們為什么不用?
我也不知道!
那么大蝦說的所謂標準化編程究竟是什么呢?我沒買過他的資料,廠家的手冊難道不香嗎?
從他帖子中的描述,我的理解是,哪里是不用什么M、T,估計他宣揚的只是全部用局部變量,不用全局變量,這樣程序在進行移植的時候不用關心存儲空間的分配,直接交給編程軟件的編譯系統來完成。
M也可以定義為局部變量呀!為什么不可以用?因為有些使用通用MCU的PLC,位尋址能力很弱,位尋址的時間比字尋址時間還長!
那么如何做到不用M呢?
很簡單,你把V(D)數據地址當成一個M來使用就可以了。
但大廠PLC使用的CUP都是自己設計的,保留了很強的位尋址和操縱能力。
那么放棄使用M和T有實際意義嗎?
只要大廠還提供直接的位尋址和操縱能力,就沒有必要放棄!特別是梯形圖,天生的就非常適合位尋址,用M的編程方式。這么香干嗎要放棄
- EPLAN如何實現多個變量狀態的宏文件創建? 2024-12-02
- 三菱PLC溫度控制系統案例,想會用PLC就要學懂這些案例! 2024-12-02
- 紅電線,黃電線,綠電線...各種顏色電線都代表什么? 2024-12-02
- PLC經典問答合集,全知道的一定是電氣大神! 2024-12-02
- PLC三大量:開關量、模擬量、脈沖量的計算 2024-12-02
- 兩根6平方線并成一根火線,再用兩根6平方線并成一根零線 2024-12-02
- 實至名歸,PLC市場西門子第一,通用伺服卻是匯川第一! 2024-12-02
- 基于西門子S7-1200PLC模擬量測溫案例,理清編程思路全靠這篇! 2024-12-02
- Zui全PLC、變頻器接線圖!!!(快收藏) 2024-12-02
- EtherCAT伺服的原點及極限信號在H5U側的配置方法 2024-12-02
- 不會PLC又如何?看懂這34個接線圖,完勝80%的電工 2024-12-02
- PLC通訊MODBUS協議的應用及編程,入門就看這篇! 2024-12-02
- 如何判斷485從站設備是否支持modbus rtu通訊? 2024-12-02
- 電力人常見的問題之一:kVA和kW之間的區別是什么? 2024-12-02
- 直線導軌的介紹和選用,你知道多少? 2024-12-02
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684