电子开发 | 基础入门 | 电路原理图 | 婵⿴鍨伴懜浼村炊閹呮澖濞撴熬鎷� | PLC闁糕晞娅i、锟�   闁靛棗锕ら々褔寮稿⿰鍐╃仒婵炲棎鍨哄﹢鎵博濞嗘瑧绀夐悹鍥敱鐎碉拷 Ctrl+D 闁归潧顑呮慨鈺呭绩閹増顥戦柨娑楃劍閸斿懐鎷姀鈥充憾闁汇劌瀚弫顕€骞愭担纰樺亾閿燂拷濞戞挴鍋撻悹褍鍢查鐔哥▕閻樿京顏遍悹褏鏌夌换妯侯潰閵夘垳绀夐柣銏ゆ涧閻℃瑥顕i埀顒勫矗閹寸姴绔炬繛鍡愬灱缁诲骞冮…鎺旂<.

电子开发网

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

閳藉懐鏁哥捄顖氬彆瀵繑澧滈崘宀嬬礉閺堚偓閺傛壆澧楅妴濠勬暩鐎涙劗鏁哥捄顖氬彆瀵繗顓哥粻妤€娅掗妴瀣剁礉閻絻鐭鹃崗顒€绱¢弻銉嚄閹靛鍞� 閻絻鐭鹃崗顒€绱$拋锛勭暬閸c劊鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
閳藉棗宕勬径鈺侇劅娴兼艾宕熼悧鍥ㄦ簚鐎圭偘绶�100 c鐠囶叀鈻� chm閺嶇厧绱¢妴鍌濈カ閺傛瑥鍞寸€圭顕涚紒鍡礉鐟曞棛娲婃笟瀣摍婢舵熬绱濋崘鍛啇楠炶¥鈧劗鏁哥€涙劒绮犳稉姘眽閸涙ê绻€婢跺洦澧滈崘灞烩偓锟�
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> PLC基础入门教程 >> 正文

PLC功能指令使用基础:数据类型与寻址方式,你学会了吗?

作者:佚名    文章来源:本站原创    点击数:950    更新时间:2024/3/5

一、数据类型


1.字长

S7-200 SMART PLC的存储单元(即编程元件)存储的数据都是二进制数。数据的长度称为字长,字长可分为位(1位二进制数,用b表示)、字节(8位二进制数,用B表示)、字(16位二进制数,用W表示)和双字(32位二进制数,用D表示)。


2. 数据的类型和范围

S7-200 SMART PLC的存储单元存储的数据类型可分为布尔型、整数型和实数型(浮点数)。

1)布尔型布尔型数据只有1位,又称位型,用来表示开关量(或称数字量)的两种不同状态。当某编程元件为1时,称该元件为1状态,或称该元件处于ON状态,该元件对应的线圈“通电”,其常开触点闭合,常闭触点断开;当该元件为0时,称该元件为0状态,或称该元件处于OFF状态,该元件对应的线圈“失电”,其常开触点断开,常闭触点闭合。例如,输出继电器Q0.0的数据为布尔型。
2)整数型

整数型数据不带小数点,它分为无符号整数和有符号整数,有符号整数需要占用1个最高位表示数据的正负,通常规定最高位为0表示数据为正数,为1表示数据为负数。表1列出了不同字长的整数表示的数值范围。

表1不同字长的整数表示的数值范围

 

3)实数型

实数型数据也称为浮点型数据,是一种带小数点的数据,它采用32位来表示(即字长为双字),其数据范围很大,正数范围为+1.175495E-38~+3.402823E+38,负数范围为-1.175495E-38~-3.402823E+38。


3.常数的编程书写格式

常数在编程时经常要用到。常数的长度可为字节、字和双字,常数在PLC中也是以二进制数形式存储的,但编程时常数可以十进制、十六进制、二进制、ASCII码或浮点数(实数)形式编写,然后由编程软件自动编译成二进制数下载到PLC中。、

常数的编程书写格式见表2。

表2常数的编程书写格式

 

二、寻址方式


在S7 -200 SMART PLC中,数据是存于存储器中的,为了存取方便,需要对存储器的每个存储单元进行编址。在访问数据时,只要找到某单元的地址,就能对该单元的数据进行存取。S7 -200 PLC的寻址方式主要有两种:直接寻址和间接寻址。


1.直接寻址

1)编址

要了解存储器的寻址方法,须先掌握其编址方法。S7 -200 SMART PLC的存储单元编址有一定的规律,它将存储器按功能不同划分成若干个区,如I区(输入继电器区)、Q区(输出继电器区)、M区、SM区、V区、L区等,由于每个区又有很多存储单元,因而这些单元需要进行编址。PLC存储区常采用以下方式编址。

①I、Q、M、SM、S区按位顺序编址,如I0.0~I15.7、M0.0~M1.7。

②V、L区按字节顺序编址,如VB0~VB2047、LB0~LB63。

③AI、AQ区按字顺序编址,如AIW0~AIW30、AQW0~AQW30。

④T、C、HC、AC区直接按编号大小编址,如T0~T255、C0~C255、AC0~AC3。

2)直接寻址方法

直接寻址通过直接指定要访问存储单元的区域、长度和位置来查找到该单元。S7 -200 SMART PLC直接寻址方法主要有:

①位寻址。位寻址格式为:位单元寻址=存储区名(元件名)+字节地址。位地址例如,寻址时给出I2.3,要查找的地址是I存储区第2字节的第3位,如图1所示。

 

图1 位寻址举例

可进行位寻址的存储区有I、Q、M、SM、L、V、S。字节/字/双字寻址。

②字节/字/双字寻址是以字节、字或双字为单位进行的,寻址格式为:

字节/字/双字寻址=存储区名(元件名)+字长(字节、字或双字)+首字节地址

例如,寻址时给出VB100,要查找的地址为V存储区的第100字节;若给出VW100,则要查找的地址为V存储区的第100、101两个字节;若给出VD100,则要查找的地址为V存储区的第100~103四个字节。VB100、VW100、VD100之间的关系如图2所示,VW100即为VB100和VB101,VD100即为VB100~VB103。当VW100单元存储16位二进制数时,VB100存高字节(高8位),VB101存低字节(低8位);当VD100单元存储32位二进制数时,VB100存最高字节,VB103存最低字节。

VB100、VW100、VD100之间的关系 

图2 VB100、VW100、VD100之间的关系

可进行字节寻址的存储区有I、Q、M、SM、L、V、AC(仅低8位)、常数;可进行字寻址的存储区有I、Q、M、SM、L、V、T、C、AC(仅低16位)、常数;可进行双字寻址的存储区有I、Q、M、SM、L、V、AC(32位)、常数。

2.间接寻址

间接寻址是指不直接给出要访问单元的地址,而是将该单元的地址存在某些特殊存储单元中,这个用来存储地址的特殊存储单元称为指针,指针只能由V、L或AC(累加器)来承担。采用间接寻址方式在访问连续地址中的数据时很方便,使编程非常灵活。

间接寻址存取数据一般有三个过程:建立指针、用指针存取数据和修改指针。

1)建立指针

建立指针必须用双字传送指令(MOVD),利用该指令将要访问单元的地址存入指针(用来存储地址的特殊存储单元)中。指针建立举例如下。

MOVD &VB200, AC1 //将存储单元VB200的地址存入累加器AC1中指令中操作数前的“&”为地址符号,“&VB200”表示VB200的地址(而不是VB200中存储的数据),“//”为注释符号,它后面的文字用来对指令进行注释说明,软件不会对其后面的内容进行编译。在建立指针时,指令中的第2个操作数的字长必必须是双字存储单元,如AC、VD、LD。

2)用指针存取数据

指针建立后,就可以利用指针来存取数据。举例如下。

MOVD &VB200,AC0 //建立指针,将存储单元VB200的地址存入累加器AC0中

MOVW *AC0, AC1 //以AC0中的地址(VB200的地址)作为首地址,将连续两个字节(一个字,即VB200、VB201)单元中的数据存入AC1中

MOVD*AC0, AC1 //以AC0中的地址(VB200的地址)作为首地址,将连续四个字节(双字,即VB200~VB203)单元中的数据存入AC1中

指令中操作数前的“*”表示该操作数是一个指针(存有地址的存储单元)。下面通过图3来说明上述指令的执行过程。

间接寻址说明图 

图3 间接寻址说明图

“MOVD &VB200, AC0”指令执行的结果是AC0中存入存储单元VB200的地址;“MOVW *AC0, AC1”指令执行的结果是以AC0中的VB200地址作为首地址,将连续两个字节单元(VB200、VB201)中的数据存入AC1中,如果VB200、VB201单元中的数据分别为12、34,则该指令执行后,AC1的低16位就存入了“1234”;“MOVD *AC0, AC1”指令执行的结果是以AC0中的VB200地址作为首地址,将连续四个字节单元(VB200~VB203)中的数据存入AC1中,该指令执行后,AC1中就存入了“12345678”。

3)修改指针

指针(用来存储地址的特殊存储单元)的字长为双字(32位),修改指针值需要用双字指令。常用的双字指令有双字加法指令(ADDD)和双字加1指令(INCD)。在修改指针值、存取字节时,指针值加1;存取字时,指针值加2;存取双字时,指针值加4。修改指针值举例如下。

MOVD &VB200, AC0 //建立指针

INCD AC0      //将AC0中的值加1(即地址值增1)

INCD AC0      //将AC0中的地址值再增1

MOVW *AC0, AC1 //读指针

以AC0中的新地址作为首地址,将它所对应连续两个字节单元中的数据存入AC1中。

以图6-3为例,上述程序执行的结果是以AC0中的VB202单元地址为首地址,将VB202、VB203单元中的数据56、78存入AC1的低16位。


Tags:间接寻址,西门子plc,200SMART  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
推荐文章
閻㈤潧鐡欏鈧崣鎴犵秹閿涙碍鐪归梿鍡欐偅閸氬牆鎮囩猾鑽ゆ暩鐎涙劕鍩楁担婊€绗岄悽浣冪熅閸ュ墽娈戠純鎴犵彲閿涘lc瀹搞儲甯堕幎鈧張锟�,濡紕鏁搁弫鎵暩閻儴鐦�,閸楁洜澧栭張绡岲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濠电偛顕慨鎯р枖閺囩儑鑰块柨鐕傛嫹
閺堚偓閺傜増鏋冪粩锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询