设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
【智】200SMART与200PLC之间MODBUS主从通讯多个读写指令 ...
返回列表
发新帖
[西门子]
【智】200SMART与200PLC之间MODBUS主从通讯多个读写指令轮询详解
[复制链接]
23310
|
0
|
2024-8-23 17:31:45
|
显示全部楼层
|
阅读模式
大家好,我是微控小智,今天又跟大家见面了。学习需要坚持,做技术亦是如此,厚积才能博发。小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。
今天小智给大家分享一个FOR循环嵌套间接寻址异或运算案例,如果大家看程序有些困难,不妨先来复习下前面给大家分享一些知识点,方便大家理解程序。
FOR-NEXT循环指令
FOR-NEXT循环指令是有由FOR循环开始指令和NEXT循环结束指令组成,主要用于某程序段需要执行一定次数的情况下,那么反复执行的程序段落,就称为循环体。
(1)FOR循环开始指令:用来标记循环体的开始,有3个数据输入端:
INDX: 存放循环体执行的次数,数据类型为字
INIT: 循环次数初始值
FINAL:循环次数结束值
(2)NEXT循环结束指令:标记循环体的结束。
FOR和NEXT必须成对使用,在FOR和NEXT之间构成循环体。当允许使能输入EN有效时,执行循环体,首先将循环初值(INIT)装入INDX,然后每执行1次循环体,INDX自动加1,并且与结束值相比较,如果INDX大于FINAL,则循环结束。例如,设定循环初始值INIT为1,结束值FINAL为10,使能输入有效时,执行循环体,同时INDX从1开始计数,执行第一次循环体,INDX当前计数值加1,直到执行10次,当前计数值也增加到11,此时系统终止循环。在S7-200中,循环指令允许嵌套使用,最大嵌套深度为8层。FOR和NEXT循环体内部可以再含有FOR、NEXT循环体,称为循环嵌套。 每次使能输入重新有效,指令自动将各参数复位。
间接寻址
(1)间接寻址: 间接寻址是指用指针来访问存储区数据。指针以双字的形式存储其它存储区的地址。只能用V存储器、L存储器或者累加器寄存器(AC1、AC2、AC3)作为指针,AC0只能存入指针变量中的数值,不能做指针。要建立一个指针,必须以双字的形式,将需要间接寻址的存储器地址移动到指针中。指针也可以作为参数传递到子程序中。
&为取地址符号。
*为取值符号,即指针符号
我们可以把间接寻址中指针可以理解为酒店房间的房卡,酒店的房间是实际的物理地址,物理地址就是房间的房间号,客人可以看作是房间的值,那么客人入住酒店只需要在前台办理房卡,房卡上面写有入住酒店的房间号,房卡指向具体的房间地址,客人只需要用房卡打开具体的房间就可以入住了,如果需要更换房间,也只需要在前台更换房卡上面的房间号就可以入住对应的房间了。
(2)建立指针:建立指针时必须用双字传送指令MOV_DW将需要间接寻址的存储器地址送到指针中。
(3)用指针存取数据:指令操作数前面加*符号,表示该操作数为一个指针。指针可按字节,字,双字存取数据。指针指向存储区地址的值。
(4)指针偏移:如果要连续存取指针所指向的数据时,由于指针是32位的数据,应使用双字指令来修改指针值,修改指针时可用双字加法指令和双字自加一指令。但需要注意,存取字节时,指针值加1,存取字时,指针值加2,存取双字时,指针值加4。
异或指令
异或:是二进制数据的运算法则,如果是非二进制数据先转换成二进制数据再进行异或运算,其运算原则是两个二进制数据的对应位相同为0,不同为1。
程序如下图所示:
I0.0和I0.1组合用来操作FOR循环2级嵌套,I0.1接通后循环体执行8次,VW0自加1执行8次等于8,I0.0接通后,循环体再执行10次,VW0结果等于80。
I0.2接通后,VB10赋初始值0,将VB6的地址送到累加器AC1建立指针,同时建立循环体,循环体的内容是让VB10与VB6、VB7、VB8、VB9分别进行异或运算,每进行一次异或运算后把结果放到VB10中,VB6、VB7、VB8、VB9需要分别写入二进制数据2#00000011、2#00001100、2#00110000、2#11000000,异或之后的VB10结果为2#11111111。
实践出真知,没有实践,理论就是纸上谈兵;学习中需要多加验证。如果大家看了小智的文章后有所收获,可以分享更多的朋友。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
水煮PLC
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』