电子开发 | 基础入门 | 电路原理图 | 濠殿喖饪撮崹浼存嚋娴兼潙鐐婇柟顖嗗懏婢栨繛鎾寸啲閹凤拷 | PLC闂佺硶鏅炲▍锝夈€侀敓锟�   闂侀潧妫楅敃銈夈€呰瀵ǹ饪伴崘鈺冧粧濠电偛妫庨崹鍝勶耿閹殿喚鍗氭繛鍡樼懅缁€澶愭偣閸ヮ剚鏁遍悗纰夋嫹 Ctrl+D 闂佸綊娼ч鍛叏閳哄懎缁╅柟顖滃椤ユ垿鏌ㄥ☉妤冨妽闁告柨鎳愰幏顐﹀閳ュ厖鎲鹃梺姹囧妼鐎氼參寮鈧獮鎰媴绾版ê浜鹃柨鐕傛嫹婵炴垶鎸撮崑鎾绘偣瑜嶉崲鏌ヮ敆閻斿摜鈻曢柣妯夸含椤忛亶鎮硅閺屽鎹㈠Ο渚桨闁靛鍨崇粈澶愭煟閵忋倖娑ч柣鈩冪懃椤曪綁鍩€椤掑嫬鐭楅柟瀵稿Т缁旂偓绻涢崱鎰伇缂佽顑夐獮鍐€﹂幒鏃傦紲.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

闂備礁鐤囧Λ鍕箠閹版澘鏋侀柛婵勫劜瀹曞銇勯弽銊ㄥ鐟滄澘妫涢埀顒侇問閸犳牜鎹㈤幋鐐存珷婵犲﹤鐗嗙粈鍐偓鍏夊亾閻庯綆鍓涢ˇ顕€姊洪崫鍕闁稿鎹囬弻锟犲磼濞戞﹩妫嗘繝鈷€鍕垫疁濠碘€崇摠缁绘繈宕熼浣圭槑闂佽瀛╃粙鎺楀礉濡ゅ懎鏋侀柛婵勫劜瀹曞銇勯弽銊ㄥ鐟滄澘妫涢埀顒侇問閸犳牜鎹㈠Δ鍜佹晣闁告縿鍎虫稉宥嗕繆閵堝倸浜惧┑鐐叉噺鐢剝淇婄€电硶鍋撻敐鍛暢缂佲偓婢舵劖鐓熸い顐幘缁佺兘鏌i銏㈢暫鐎规洘顨婇、妤呭焵椤掑倹顫曢柨鐔哄Т閽冪喖鏌曟径妯煎帥闁搞倕瀚伴弻鐔兼濞戝崬鍓伴梺鍝ュ剳閹凤拷 闂備焦妞垮鈧紒鎻掝煼閹本銈i崘銊ь槯濡炪倖宸婚崑鎾剁磼閹插纾块柟宄邦儔閺佸秹宕熼鐔哥槗闂備線娼荤徊濠氬礉婵犲洤鐒垫い鎺嶇婵鏌℃担鍛婃喐闁逞屽墯缁嬫帡宕濋幒鏂垮灊闁绘ê纾埢鏃€鎱ㄥ鍡椾簼闁活亙绮欓弻娑樷槈濞咁収浜為幑銏ゅ焵椤掆偓椤法鎹勯悜妯侯槱婵犫拃鍕煉鐎规洘岣挎禒锕傛倻閳轰椒澹曢梺璺ㄥ櫐閹凤拷
闂備礁鐤囧Λ鍕涘Δ鈧悾鐑藉礋椤掆偓缁剁偤鏌嶆潪鎵窗闁告柨鎳庨湁闁稿繗澹堟竟妯尖偓瑙勬礈閸犳牠骞冭瀹曞爼濡搁敂鍓ф闂佽楠稿﹢閬嶅磻濡吋顐介柨鐕傛嫹100 c闂佽崵濮村ù鍌炲矗閳ь剟鏌嶆导娆愬 chm闂備礁鎼粔鍫曞储瑜忓Σ鎰版晸閻樺弬銉╂煕鐏炲墽绠橀柕鍫亰閺岋繝宕掑☉姘櫑闂佸摜鍋涢顓㈠焵椤掆偓濠€閬嶃€佹繝鍥舵晪婵炴垶姘ㄧ壕濂告煕閳藉棗骞樼紒鈧径鎰仭闁哄洨鍋為ˉ鐘崇箾閹绘帪鏀荤紒妤冨枔閳ь剨缍嗘禍鐐哄箺瀹ュ拋鐔嗛柤鍝ユ暩閸熻尙绱掓潏銊х疄鐎规洘锕㈠畷銊╊敇瑜嶉弲锝呂旈悩闈涗哗闁跨喆鍎甸崺鈧い鎺嶇婵鏌℃担鍛婃喐闁逞屽墯缁嬫帡宕濋幒鏂垮灊闁绘ê纾埢鏃€鎱ㄥ鍡椾簼闁活亙绮欓弻娑樷槈濞咁収浜為幑銏ゅ焵椤掆偓椤法鎹勯悜妯侯槱婵犫拃鍕煉鐎规洘岣挎禒锕傛倻閳轰椒澹曢梺璺ㄥ櫐閹凤拷
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

基于S7-200 SMART实现MATLAB写入与读取PLC数据_matlab

作者:佚名    文章来源:网络整理    点击数:736    更新时间:2024/12/29

关键字:S7-200 SMART;Modbus TCP;MATLAB。

系列文章目录

基于S7-200 SMART实现一键启停
顺序功能图——(二)设计机组延时关机程序
基于S7-200 SMART实现Modbus TCP通信



前言

  提到PID控制,不知道各位第一个想到的相关实现软件是什么,反正博主第一个想到的是MATLAB,不过这都是因为在过去的学生时代接触这个最多。相信基于PID的控制理念,不论是C++/C#还是Python基于这些高级语言很多软件都能实现PID控制。不过在工作以后在过程控制或是运动控制PLC的使用十分广泛,一些PLC也集成了PID控制的功能例如S7-200 SMART
  随着时代的发展越来越多不同的PID控制也被运用到工程中——模糊PID控制专家PID控制神经网络PID控制差分进化PID控制,他们是智能控制中专家控制模糊控制神经网络控制优化算法控制的发展的结果,虽然优势明显,但仅凭PLC难以实现,往往需要PC中的其他软件进行辅助。因此实现PC软件如MATLAB与PLC之间的通信就是十分必要的。


一、Modbus TCP

  Modbus TCP是一种通信协议,支持这种通信协议的设备只需要通过以太网就可以实现通数据传输,基于此通信协议,可以通过一根网线实现PC与PLC之间的数据处理,本文不会对Modbus TCP做重点介绍,需要学习的小伙伴可以走传送门——带你玩转modbusTCP通信。

二、总体环境介绍

  以下的案例基于:

  • PC操作系统:WIN11
  • PLC:S7-200 SAMRT CPU ST60
  • 通信介质:普通网线一根
  • PLC编程软件:STEP 7-Micro/WIN SMART V2.8
  • MATLAB:R2019a

三、PLC中搭建服务端

  在基于S7-200 SMART实现Modbu TCP通信一文中博主详细介绍了基于S7-200 SMART搭建Modbus TCP服务端的搭建过程,这里只进行简单介绍,需要重温的小伙伴请走传送门。
 

图3.1 在PLC中搭建Modbu TCP服务端

  设置端口号:502,保持寄存器包括从VB10000开始向后的1000个V寄存器。

四、Matlab中搭建客户端

  在Matlab中已经集成好了Modbus通信需要的各种功能,这点十分方便,我们可以使用封装好的函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clc
clear all;
%创建modbus连接对象
mb = modbus('tcpip','192.168.2.1',502);
%通信延时2s
mb.Timeout = 2;
for i=1:1:1000
%读取数据
data = read(mb,'holdingregs',1,10,'int16');
%写入数据
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
%断开并清除modbus对象
clear mb

其中

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

用于生成一个Modbus对象,比较像面向对象编程中类的实例化。第一个参数表示是Modbus TCP通信,第二个参数表示服务端的IP地址(PLC的IP地址),第三个参数表示端口号。

1
mb.Timeout = 2;

用于设定Modbus对象的通信时间,超过此时间还未建立通信连接则认为通信失败。

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

用于读取数据并反回到一个变量里。第一个参数表示是通过mb对象读取数据,第二个参数表示读取保持寄存器数据,第三个参数表示从第一个地址开始读取,第四个参数表示读取10个数据,第五个参数表示以int16类型的数据保存到data中。如果需要读取的数据有多种类型也可以写成如下形式:

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

用于写入数据。第一个参数表示是通过mb对象写入数据,第二个参数表示写入保持寄存器数据,第三个参数表示从第一个地址开始写入,第四个参数表示写入的六个数据,第五个参数表示以int16类型的数据保写入。

1
clear mb

用于清除Modbus对象。

五、运行结果

  可以看到运行结束后再PLC的V寄存器中VW10000~VW10010都比原来的值累加了1000,而且再MATLAB的工作区也得到了反应,值得一提的是,MATLAB的工作区不会实时更新数据,只有在程序运行完成后可以查看到运行的结果。
 

图5.1 在PLC中的通信结果

  
图5.2 在Matlab中的通信结果


总结

  本文实现了S7-200 SMART与PC端Matlab的Modbus TCP通信,通过Matlab读取与写入了V区寄存器。


Tags:MATLAB,200smart,读取PLC数据  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
推荐文章
闂佹眹鍨藉ḿ褔鎮哄▎蹇e殨闁逞屽墴瀹曪綁骞嬮悩鐢敌ч梺鎸庣⊕绾板秹鎯囪ぐ鎺撯挅闁糕剝鐟﹂崑鍛存煕濮橆剛澧曢柟顔兼川閻氶箖鎳¢妶鍡樻瘎闁诲孩绋掗崝鏇㈠春濡や焦濯存繝濞惧亾缂佹鐭傞幃鑺ユ媴閸愵亞鍞撮梺鎼炲劚婢ц棄鈻撻幋鐘电>闁瑰濮疯ぐ鏌ユ煥濞戞﹩鍞筶c閻庤鎮堕崕鑼暜閸洖绠柍褜鍓熷鐢告晸閿燂拷,濠碘槅鍨界槐鏇㈠极閹间礁鏋侀柟娈垮枟閺嗏晠鏌i婊冨姤闁伙讣鎷�,闂佸憡顨嗗ú婊勬櫠閺嶎厼瀚夌紒鈥宠唺A缂備焦绋戦ˇ閬嶆偤閹达附鏅ù锝堟閻ゎ噣鏌﹂埀顒勫礃椤忓懏姣勯柣鐘辫閸ㄦ澘霉濡偐纾鹃柟瀵稿Х瑜拌尙绱掗钘夊姢鐎规洘娲熼弫宥囦沪閼规壆顦伴悗瑙勬偠閸庢娊鍩㈤懖鈺傛殰闁割偅绻傞悘锟犳⒑椤愩倕小闁绘粠鍨跺畷鎰箔鐞涒€充壕闁稿本渚楅崑銊╁级閳轰線顎楅柛娅诲啠鏋栭柕濞垮劙缁ㄥ啿菐閸ワ絺鍋撻崘鎻掔稻婵炴潙鍚嬮〃鍛般亹閸ф鏅慨妯块哺閺嗏晠鎮楀☉娆忓缂佽鲸鍨垮畷锝夊箣閻樼數效闂佹寧鍐婚幏锟�
最新推荐
闁荤姍鍐仾闁哄绻濆畷鐘诲川椤掑倻鎲柡澶屽剳閹凤拷
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂備礁鎲¢妵鐐电矆娓氣偓婵″灚寰勭仦绋夸壕婵炴垵纾槐鎵磼閸欐ê宓嗙€规洩绻濆鎾偐瀹割喗姣堥梻浣告惈閻楀棝骞栭锔藉仾闁告洦鍓涢悷褰掓煥閻曞倹瀚�100 c闂佽崵濮村ù鍕箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]濠电偞鍨堕幐鎼佀囩€圭姰浜圭紒鈧悜鐫犻梺璇插閸愯崵绱撳鍗炲К闁告洦鍓涢々鐑芥偣閹帒濡介柛鈺佸€垮鍫曟倻閸℃浠у┑鐐叉-閺侇煝-TR
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM324闂佸搫顦弲婊堝礉閺嶎厼妫橀柨鐕傛嫹4~20mA闂佸搫顦遍崕鎴﹀箯閿燂拷1~5V闂備焦鐪归崹褰掓倶濮樿京鐭堥柨鐕傛嫹
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM386濠碉紕鍋涘﹢杈╁垝椤栫偞鍊垫い鎺嶇劍婵挳鏌熼幑鎰靛殭妞ゆ柨锕弻娑滅疀閹垮啫鍓跺銈冨劜閹瑰洤顕i妸鈺佺畾鐟滃绂嶉敐澶嬬厱闁挎繂鍟俊濂告偨椤栥倖瀚�
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]936闂備胶绮敮鎺楁晝閵堝牄浜归柟缁㈠枟閸嬨劌霉閿濆懎鏆熼柣鏂挎嚇閺屾稑螣閻撳孩鐏侀梺璇″枛閿曨亜鐣烽崼鏇熸櫢闁跨噦鎷�
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂佺儵鍓濈敮鎺楀箠鎼淬劍鏅柟閭﹀厴閺嬫牠鏌曡箛銉х?闁靛牊鎸抽幃褰掓偖鐎涙ê顏�+婵犵數鍋為幐鎾疾濞戞埃鍋撻惂鍛婂+闂備胶顢婄紙浼村磿閹绢噮鏁嗛柣鏂垮悑閸庡秹鏌涢弴銊ヤ簻缂佲偓閿燂拷
 [闂傚倷绶¢崑鍛潩閵娾晛鏋侀柕鍫濐槹閸嬨劑姊婚崼鐔恒€掗柟钘夌Ч閹鎷呴悷鎵槰濡炪倖鎸搁幉鈥翅缚椤忓牜鏁嶆繛鍡樺姦閸嬶拷]S7-200PLC闂備焦鐪归崝宀€鈧凹浜為幐鎺楀閵堝棗鍓抽梺缁樻⒐濡叉帡骞忛鈷氬綊鎮崨顔碱伓 S7_2
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]S7-200闂佸湱鍘ч悺銊╁箰婵犳艾鍑犻柛鎰ㄦ櫇椤╃兘鎮规担鍛婅础缂佲偓閸曨垱鐓曢煫鍥风悼閸樻粎绱掗幉瀣,STEP7
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]ModbusPoll闂備礁鎲$划宀勵敆閻栧獛busSalve闂備胶枪妤犲繘骞忛敓锟�
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]STEP7婵犵妲呴崹顏堝礈濠靛牃鍋撳顓犳噰闁哄苯鐭佺粻娑㈠棘鐠恒劍鈻屽┑鐐差嚟婵即宕愰弴鐘哄С闁跨噦鎷� Smart_
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modbus闂佽崵濮撮鍛村疮閹惰姤鍎婃い鏍ㄧ矊閸ㄦ繈鏌涢幘妤€鍊荤憴锟� v1.024 缂傚倸鍊风欢銈夊箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modscan32闂備礁鎲$划宀勵敆閻栧獛sim32,modb
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]89c51闂備胶枪缁绘劙藝闁秵鍋熸繛鎴欏灩濡﹢姊洪锝囶灱闂傚棗缍婇弻锝夘敂閸℃鐝㈢紓浣介哺閻涱槝otues
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]濠电偞鍨堕幐绋棵洪妶澶婄濡わ絽鍟崒銊╂煕閻愭潙袨otues濠电偛顕慨鎯р枖閺囩儑鑰块柨娑樺閻瑩鎮楅敐搴濈敖缁炬澘绉电换婵婎槼闁告梹顨婇幃銉╂晸閿燂拷
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]51闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬鏌涘┑鍡楊仼闁秆冿功缁辨帞鈧綀鍩栫€氾拷 protues濠电偛顕慨鎯р枖閺囩儑鑰块柨鐕傛嫹
闂佸搫鐗冮崑鎾绘煛閸屾粌顣奸柡瀣暟缁晠鏁撻敓锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询