日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 梯形圖實(shí)例 >> 正文

基于S7-200 SMART實(shí)現(xiàn)MATLAB寫(xiě)入與讀取PLC數(shù)據(jù)_matlab

作者:佚名    文章來(lái)源:網(wǎng)絡(luò)整理    點(diǎn)擊數(shù):    更新時(shí)間:2024/12/29

關(guān)鍵字:S7-200 SMART;Modbus TCP;MATLAB。

系列文章目錄

基于S7-200 SMART實(shí)現(xiàn)一鍵啟停
順序功能圖——(二)設(shè)計(jì)機(jī)組延時(shí)關(guān)機(jī)程序
基于S7-200 SMART實(shí)現(xiàn)Modbus TCP通信



前言

  提到PID控制,不知道各位第一個(gè)想到的相關(guān)實(shí)現(xiàn)軟件是什么,反正博主第一個(gè)想到的是MATLAB,不過(guò)這都是因?yàn)樵谶^(guò)去的學(xué)生時(shí)代接觸這個(gè)最多。相信基于PID的控制理念,不論是C++/C#還是Python基于這些高級(jí)語(yǔ)言很多軟件都能實(shí)現(xiàn)PID控制。不過(guò)在工作以后在過(guò)程控制或是運(yùn)動(dòng)控制PLC的使用十分廣泛,一些PLC也集成了PID控制的功能例如S7-200 SMART
  隨著時(shí)代的發(fā)展越來(lái)越多不同的PID控制也被運(yùn)用到工程中——模糊PID控制專(zhuān)家PID控制神經(jīng)網(wǎng)絡(luò)PID控制差分進(jìn)化PID控制,他們是智能控制中專(zhuān)家控制模糊控制神經(jīng)網(wǎng)絡(luò)控制優(yōu)化算法控制的發(fā)展的結(jié)果,雖然優(yōu)勢(shì)明顯,但僅憑PLC難以實(shí)現(xiàn),往往需要PC中的其他軟件進(jìn)行輔助。因此實(shí)現(xiàn)PC軟件如MATLAB與PLC之間的通信就是十分必要的。


一、Modbus TCP

  Modbus TCP是一種通信協(xié)議,支持這種通信協(xié)議的設(shè)備只需要通過(guò)以太網(wǎng)就可以實(shí)現(xiàn)通數(shù)據(jù)傳輸,基于此通信協(xié)議,可以通過(guò)一根網(wǎng)線(xiàn)實(shí)現(xiàn)PC與PLC之間的數(shù)據(jù)處理,本文不會(huì)對(duì)Modbus TCP做重點(diǎn)介紹,需要學(xué)習(xí)的小伙伴可以走傳送門(mén)——帶你玩轉(zhuǎn)modbusTCP通信。

二、總體環(huán)境介紹

  以下的案例基于:

  • PC操作系統(tǒng):WIN11
  • PLC:S7-200 SAMRT CPU ST60
  • 通信介質(zhì):普通網(wǎng)線(xiàn)一根
  • PLC編程軟件:STEP 7-Micro/WIN SMART V2.8
  • MATLAB:R2019a

三、PLC中搭建服務(wù)端

  在基于S7-200 SMART實(shí)現(xiàn)Modbu TCP通信一文中博主詳細(xì)介紹了基于S7-200 SMART搭建Modbus TCP服務(wù)端的搭建過(guò)程,這里只進(jìn)行簡(jiǎn)單介紹,需要重溫的小伙伴請(qǐng)走傳送門(mén)。
 

圖3.1 在PLC中搭建Modbu TCP服務(wù)端

  設(shè)置端口號(hào):502,保持寄存器包括從VB10000開(kāi)始向后的1000個(gè)V寄存器。

四、Matlab中搭建客戶(hù)端

  在Matlab中已經(jīng)集成好了Modbus通信需要的各種功能,這點(diǎn)十分方便,我們可以使用封裝好的函數(shù):

clc
clear all;
%創(chuàng)建modbus連接對(duì)象
mb = modbus('tcpip','192.168.2.1',502);
%通信延時(shí)2s
mb.Timeout = 2;
for i=1:1:1000
%讀取數(shù)據(jù)
data = read(mb,'holdingregs',1,10,'int16');
%寫(xiě)入數(shù)據(jù)
write(mb,'holdingregs',1,[data(1)+1 data(2)+1 data(3)+1 data(4)+1 data(5)+1 data(6)+1],'int16');
%表示暫停0.1s
pause(1/10);
end
%斷開(kāi)并清除modbus對(duì)象
clear mb

其中

mb = modbus('tcpip','192.168.2.1',502);

用于生成一個(gè)Modbus對(duì)象,比較像面向?qū)ο缶幊讨蓄?lèi)的實(shí)例化。第一個(gè)參數(shù)表示是Modbus TCP通信,第二個(gè)參數(shù)表示服務(wù)端的IP地址(PLC的IP地址),第三個(gè)參數(shù)表示端口號(hào)。

mb.Timeout = 2;

用于設(shè)定Modbus對(duì)象的通信時(shí)間,超過(guò)此時(shí)間還未建立通信連接則認(rèn)為通信失敗。

data = read(mb,'holdingregs',1,10,'int16');

用于讀取數(shù)據(jù)并反回到一個(gè)變量里。第一個(gè)參數(shù)表示是通過(guò)mb對(duì)象讀取數(shù)據(jù),第二個(gè)參數(shù)表示讀取保持寄存器數(shù)據(jù),第三個(gè)參數(shù)表示從第一個(gè)地址開(kāi)始讀取,第四個(gè)參數(shù)表示讀取10個(gè)數(shù)據(jù),第五個(gè)參數(shù)表示以int16類(lèi)型的數(shù)據(jù)保存到data中。如果需要讀取的數(shù)據(jù)有多種類(lèi)型也可以寫(xiě)成如下形式:

data = read(mb,'holdingregs',1,[5,2,3],{
'int16','uint32','double'});
write(mb,'holdingregs',1,[data(1)+1 data(2)+1 data(3)+1 data(4)+1 data(5)+1 data(6)+1],'int16');

用于寫(xiě)入數(shù)據(jù)。第一個(gè)參數(shù)表示是通過(guò)mb對(duì)象寫(xiě)入數(shù)據(jù),第二個(gè)參數(shù)表示寫(xiě)入保持寄存器數(shù)據(jù),第三個(gè)參數(shù)表示從第一個(gè)地址開(kāi)始寫(xiě)入,第四個(gè)參數(shù)表示寫(xiě)入的六個(gè)數(shù)據(jù),第五個(gè)參數(shù)表示以int16類(lèi)型的數(shù)據(jù)保寫(xiě)入。

clear mb

用于清除Modbus對(duì)象。

五、運(yùn)行結(jié)果

  可以看到運(yùn)行結(jié)束后再PLC的V寄存器中VW10000~VW10010都比原來(lái)的值累加了1000,而且再M(fèi)ATLAB的工作區(qū)也得到了反應(yīng),值得一提的是,MATLAB的工作區(qū)不會(huì)實(shí)時(shí)更新數(shù)據(jù),只有在程序運(yùn)行完成后可以查看到運(yùn)行的結(jié)果。
 

圖5.1 在PLC中的通信結(jié)果

  
圖5.2 在Matlab中的通信結(jié)果


總結(jié)

  本文實(shí)現(xiàn)了S7-200 SMART與PC端Matlab的Modbus TCP通信,通過(guò)Matlab讀取與寫(xiě)入了V區(qū)寄存器。

Tags:MATLAB,200smart,讀取PLC數(shù)據(jù)  
責(zé)任編輯:admin
相關(guān)文章列表
基于S7-200 SMART實(shí)現(xiàn)一鍵啟停_200smart 一鍵啟停
基于S7-200SMART實(shí)現(xiàn)Modbus TCP通信_(tái)200smart modbus tcp
西門(mén)子200smart高速計(jì)數(shù)器指令向?qū)Ъ俺绦颍ㄊ詹兀┨菪螆D實(shí)例
【案例】S7-200SMART運(yùn)動(dòng)定位程序梯形圖實(shí)例
S7-200SMART PLC實(shí)時(shí)時(shí)鐘指令
|分享| S7-200SMART常用指令(二)
|分享| S7-200SMART常用指令(一)
200smart【編程入門(mén)】_S7200smart編程入門(mén)梯形圖入門(mén)
西門(mén)子200 smart程序控制指令_200smart程序框架_FOR循環(huán)_子程序
200SMART什么是中斷程序?如何快穩(wěn)準(zhǔn)理解中斷并完成程序編寫(xiě)?
神級(jí)匯總,西門(mén)子PLC中斷指令及例程 ATCH和ENI
詳解S7-200SMART兩臺(tái)PLC之間的MODBUS主從站通信Modbus-RTU詳解測(cè)
STEP7運(yùn)動(dòng)控制 S7-200Smart控制運(yùn)動(dòng)軸(脈沖電機(jī)/伺服)教程
西門(mén)子200SMART與眾辰變頻器的MODBUS通信實(shí)例40001和十六進(jìn)制的轉(zhuǎn)
運(yùn)動(dòng)控制(三)使用200Smart控制步進(jìn)電機(jī),運(yùn)動(dòng)控制指令A(yù)XIS0_CT
西門(mén)子S7-200smart通過(guò)瞬時(shí)流量來(lái)計(jì)算累計(jì)流量的一種方法 中斷IN
西門(mén)子plc S7-200smart實(shí)現(xiàn)設(shè)備故障報(bào)警
西門(mén)子S7-200 smart通過(guò)modbus rtu 協(xié)議采集K37A數(shù)據(jù)項(xiàng)目案例
西門(mén)子S7-200smart 與超聲波流量計(jì)之間的MODBUS通訊
西門(mén)子S7-200 Smart與變頻器的MODBUS變頻器通信實(shí)操
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱(chēng):
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線(xiàn)幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢(xún)