用指令SHRB做一个移位程序,但是我的起始位是一个变量,是通过上面程序算出VW0等于1就是M10.1开始移位,VW0等于2从M10.2开始移位,以此类推,怎么实现这个功能
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1639000&b_id=3
我有smart的库程序,我用导出功能,你可以用导入功能导到你的200里面。
SUBROUTINE_BLOCK 间接寻位:SBR1
TITLE=程序目的:
// 本程序通过输入区号、字节号、位号,可以对输入I、输出Q、内部M、顺序S、部分系统SM、部分数据V等区域提取位的状。每个扫描周期都执行一次产生一个结果。目的在于根据输入参数,在可变的情况下把某个点信号输出到指定位置。
//
// 使用范围:
// 可以无条件调用,可以有条件调用,可以在中断中使用。可以多次调用。
// 程序接口:
// 区 地址的区域编码。I=0;Q=1;M=2;S=3;SM=4;V=8。请不要输入其他数值。
// 字节 该区域中的字节偏移量。
// 位 该字节中的位号。
// 以上数值请不要输入超过寻址范围的值,会发生间接寻址错的报警。
// 执行过程:
// 原理上把输入的区参数、字节参数填入间接寻址指针中。先找到该字节。然后移位指令把目标位移到0位,然后0位进行输出。
// 补充说明:
// 程序不能对全部区全部字节进行寻址。
// 程序因调试条件局限,可能不能适应你的程序使用,请在使用前自行检查程序后再使用。
// 程序密码:
// 作者:芳季2019-8-18
VAR_INPUT
区:BYTE; // I 0;Q 1;M 2;S 3;SM 4
字节:BYTE;
位:BYTE;
END_VAR
VAR_OUTPUT
Q:BOOL;
VAR
tempD:DWORD;
BEGIN
Network 1
// 建立IB0的指针在tempD。
// 把字节编号注入到指针。
// 用新的指针进行间接寻址,右移字节到临时字节。
// 取得临时字节的最低位,就是意图中寻址的输入点。
LD SM0.0
MOVB LB0, LB4
MOVW 0, LW5
MOVB LB1, LB7
MOVB *LD4, LB8
SRB LB8, LB2
A L8.0
= L3.0
END_SUBROUTINE_BLOCK
希望这个是你需要的。
程序主要是我自己用于输出点的从定向。所以字节这个参数用到是Byte类型。
要全领域寻址的话可以把这个Byte类型改成word。然后程序相应改变一点。
哥们,这何止是参考,简直直接就是把程序给了你用了。
看不到程序吗?
是谁的电脑有问题?
我一楼的不算程序吗?
楼上的用STL写的,你写程序不要只用梯形图,可以插入别的语句一起写
command.com我也看不懂,但是我天天都用。
导入就行……唉算了。
有时候一个人查故障。又要去挡电眼又看plc的灯。我就用这个程序把报警灯改到某个输入点上,调整屏幕上的数值就可以把什么点都反映到报警上。
这个想法很不错。
很实用,谢谢分享
链接:https://pan.baidu.com/s/1gGzqPrw5QTihyyYxRvMyIQ
提取码:len3
分享一个 300-400STL语句资料可以先了解一下
那次他给了我两千块和钥匙,叫我把汽油加满,剩下的钱给我了。我第一次拿着那把车钥匙,钥匙孔呢?档杆也没有。
真的给台车我都开不走。这小费也没本事要。那个急啊!然后……
还好醒了。上班还要磨焊渣……
语句我只是因为导出须要。因为200无法打开smart文件。我又不可能为了你在200上做一次,然后给你。帮人也有个限度的。楼主希望你理解。观众朋友们希望你们理解。
我是楼主,首先我很感谢一楼大神的回答。我比较敬佩那些牛逼又愿意教别人的人!
1,首先论坛不就是我们学习寻找答案的地方吗,对于9楼的回答我感觉你是有点嘲讽人的,如果你觉得简单可以不我理睬我们这种人的,毕竟谁都没义务要回答别人问题,我想问的这问题我相信也有很多人不会,因为我要用到,我觉得这样写的思路才是对的,要不然我要写很多程序不方便。
2,我确实是只会梯形图,一开始我真的是没懂,所以我追问了。我知道有STL但我真的看不懂,这不影响我是个初学者啊,我只会梯形图也不影响我现在写一些程序。9楼你说一般入门学习半天就够了,但是精通则可能要穷尽一生,所以要在论坛不断学习,那我问的这个问题有几个初学者会呢(不是说看懂STL),这个程序有几个初学者可以写出来呢。我们一辈子要学习优秀人的思路,和谦逊的品格
你随便自己写个几句程序,然后试一下导入导出。两小时你就学会了。我程序都是好的。
大神,这个输入怎么理解?有地址寻址的资料吗?
我查到的好像是这样的:000表示没有地址区; 001表示输入地址区I; 010表示输出地址区Q; 011表示标志位地址区M。
你查到?查哪里?
收藏
点赞
1. 文件大小:上传文件的大小请限制在1M以内。
2. 文件格式:请不要上传.exe文件,系统支持的格式有:.jpg, .jpeg, .pdf, .gif, .zip, .rar, .doc,.docx, .xls,.xlsx, .ppt, .mp3, .wma, .wmv .asf, .avi, .bmp, .png, .txt, .7z
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
用户登录
短信快捷登录
获取动态密码
七日内免验证登录 >忘记密码
立即注册登录
绑定第三方账号登录
扫描二维码登录支持中心移动端
短信登录
登录