西门子stl视频教程语言 L 'J'和 L'JA' 语句什么意思

西门子STL语言案例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
西门子STL语言案例
上传于|0|0|文档简介
&&西门子STL语言学习案例
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩8页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
售前文档售后文档热门视频系列热门版区售后服务概述自助服务帮助信息
You are here:
咱工程师的故事&
行业或应用分类
服务合作伙伴专区
编辑推荐:
请填写推广理由:
STL语言中 L
P#DBX 0.0是什么意思
主题:STL语言中 L
P#DBX 0.0是什么意思
今天看到某个FB块中的STL语言编写的程序,由于对STL语言不是很了解,无法理解该段程序的意思。为了节约各位朋友的时间,我将自己理解的注释写在了后面,如果有错误请大家帮忙指出。非常希望懂得朋友帮忙讲解一下该段程序主要是用来干嘛的,谢谢大家了!程序如下所示: LAR1
P## T_SRC_Any
//将#T_SRC_Any的地址存入地址寄存器AR1L
//将16进制10数存入以AR1为地址的LB中T
LB [AR1,P#0.0] L
//将16进制2数存入以AR1加偏移量#1.0为地址的LB中T
LB [AR1,P#1.0]
//将#LEN_Byte存入以AR1加偏移量#2.0为地址的LW中T
LW [AR1,P#2.0]L
//将#SRC_DB存入以AR1加偏移量#4.0为地址的LW中T
LW [AR1,P#4.0]L
//该行语句无法理解,请指教!!! L
//将#SRC_Byte存入累加器1SLD
//该行语句不知道是将上面的什么左移三位???请指教+D
//将累加器1内容与累加器2内容相加,存入累加器1.请问此时累加器1,2的内容分别是什么?T
LD [AR1,P#6.0]
//将累加器1的内容存入以AR1加偏移量#6.0为地址的LD中。NOP
0谢谢大家了!
如果你有梦想的话,就要去捍卫它。那些一事无成的人想告诉你你也成不了大器。如果你有理想的话,就要去努力实现。就这样。
以下网友喜欢您的帖子:
填写您的评论...
重要声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。帖子链接:
回复:STL语言中 L
P#DBX 0.0是什么意思
P## T_SRC_Any //将#T_SRC_Any的地址存入地址寄存器AR1L
B#16#10 //将8位16进制数10存入ACCU1-LT
LB [AR1,P#0.0] //将ACCU1-L的值存入临时的LB中L
B#16#2 //将8位16进制2数存入ACCU1-L
T LB [AR1,P#1.0]
//将ACCU1-L保存到临时的LB内L #LEN_Byte //将#LEN_Byte存到ACCU1 T LW [AR1,P#2.0]
将ACCU1(即
#LEN_Byte )存到LWL #SRC_DB //将#SRC_DB存入寄存器ACCU1T LW [AR1,P#4.0] // 将ACCU1(即
#SRC_DB )存到LWL P#DBX 0.0 //取DBX0.0的指针L #SRC_Byte //将#SRC_Byte存入累加器1SLD 3 //累加器中的#SRC_Byte数据左移三位+D //将累加器1内容与累加器2内容相加,存入累加器1.相加前累加器1是#SRC_BYTE执行SLD3的结果,2的内容是#LEN_ByteT LD [AR1,P#6.0] //将累加器1的内容存入以AR1加偏移量#6.0为地址的LD中。NOP 0
以下网友喜欢您的帖子:
填写您的评论...
回复:STL语言中 L
P#DBX 0.0是什么意思
以下是引用weiyt在 15:14:02的发言 >1楼:LAR1
P## T_SRC_Any //将#T_SRC_Any的地址存入地址寄存器AR1L
B#16#10 //将8位16进制数10存入ACCU1-LT
LB [AR1,P#0.0] //将ACCU1-L的值存入临时的LB中L
B#16#2 //将8位16进制2数存入ACCU1-L
T LB [AR1,P#1.0]
//将ACCU1-L保存到临时的LB内L #LEN_Byte //将#LEN_Byte存到ACCU1 T LW [AR1,P#2.0]
将ACCU1(即
#LEN_Byte )存到LWL #SRC_DB //将#SRC_DB存入寄存器ACCU1T LW [AR1,P#4.0] // 将ACCU1(即
#SRC_DB )存到LWL P#DBX 0.0 //取DBX0.0的指针L #SRC_Byte //将#SRC_Byte存入累加器1SLD 3 //累加器中的#SRC_Byte数据左移三位+D //将累加器1内容与累加器2内容相加,存入累加器1.相加前累加器1是#SRC_BYTE执行SLD3的结果,2的内容是#LEN_ByteT LD [AR1,P#6.0] //将累加器1的内容存入以AR1加偏移量#6.0为地址的LD中。NOP 0朋友,首先非常感谢你的回答。还有几点疑惑的地方,L P#DBX 0.0 //取DBX0.0的指针是什么意思啊?写该语句能起到什么作用呢?我一直以为累加器2的内容是P#DBX 0.0,为什么是上面的#LEN_Byte?
如果你有梦想的话,就要去捍卫它。那些一事无成的人想告诉你你也成不了大器。如果你有理想的话,就要去努力实现。就这样。
以下网友喜欢您的帖子:
填写您的评论...
回复:STL语言中 L
P#DBX 0.0是什么意思
楼主还是学习下间接寻址的相关内容吧,这段代码就是建立了个any类型的临时变量,用于块之间数据传输。当你了解了这种指针的构成,赋值,格式,以上问题就都会有答案。
以下网友喜欢您的帖子:
填写您的评论...
回复:STL语言中 L
P#DBX 0.0是什么意思
以下是引用侠盗在 22:48:43的发言 >3楼:楼主还是学习下间接寻址的相关内容吧,这段代码就是建立了个any类型的临时变量,用于块之间数据传输。当你了解了这种指针的构成,赋值,格式,以上问题就都会有答案。侠盗兄,好久不见。嗯,我明白了,谢谢你的建议,我先找些资料看看吧,大家新年快乐!
如果你有梦想的话,就要去捍卫它。那些一事无成的人想告诉你你也成不了大器。如果你有理想的话,就要去努力实现。就这样。
以下网友喜欢您的帖子:
填写您的评论...
上一页1下一页
扫描打开手机版
欢迎您来到技术论坛
在这里,可以将您的话题分享给大家。“发帖”即可与全国各地的自动化技术工程师进行最直接的交流、分享与学习。
看到您感兴趣的帖子,记得“回复”您的观点哦。
一个主题每人多次发言,适合过程的探讨与分享。
这里有西门子工控产品的探讨精华,有宝贵的经验分享。
点击精华帖列表,一览无余!
当您在项目中遇到疑难问题,
记得来这里获得众多资深用户的帮助与指导。
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!西门子S7-300的语句表语言STL会被淘汰吗?
查看: 1426|
评论: 0|原作者: 廖常初
摘要: 个人认为STL是8位CPU时代的产物,像累加器、状态字、地址寄存器,这些都带有Intel 51系列单片机的硬件痕迹。STL最大的问题是累加器的问题,各种指令的操作都是用累加器来完成的。所以需要用大量的L指令将数据传送到累加器1,用T指令 ...
个人认为STL是8位CPU时代的产物,像累加器、状态字、地址寄存器,这些都带有Intel 51系列的硬件痕迹。STL最大的问题是累加器的问题,各种指令的操作都是用累加器来完成的。所以需要用大量的L指令将数据传送到累加器1,用T指令将运算结果从累加器传送到别的存储单元。因此同样功能的程序,有累加器的CPU比没有累加器的CPU的长得多。
很多年以前,Intal已经用96系列取代了51系列,解决了累加器带来的瓶颈问题。别的(例如S7-200)的STL没有累加器。
别的PLC的梯形图和语句表程序是可以双向转换的。但是300/400 的STL程序不一定能转换为梯形图,有的功能(例如间接寻址和LOOP指令)只有STL才有,梯形图没有,所以300/400的STL语言对于用户来说是很难回避的。
STL最早用于S5系列PLC,S7考虑兼容性的问题,保留了STL。S7-1200没有STL语言,1500保留了STL,可能还是考虑S7-300/400程序的移植问题。从长远来看,当1500基本上取代了S7-300/400,STL是会被淘汰的。
上一篇:下一篇:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:

我要回帖

更多关于 西门子stl指令 的文章

 

随机推荐