以下是3531天前的记录
STL
1 2014年09月09日 星期二STL 简单程序段 ,访问DB块问题
西门子工业业务领域 (0)菜鸟:OPN DB [MW 2000]L L#0T #t_dwdbindexL #iElement_length //the number 100 to CYCLE option timeT #t_wdbIndex // source array`s current indexT MW 100next: T MW 100 //#t_wdbIndex //MW 100L #iElement // MW 2L DBW [MD 4] //DBW [MD 4]==I//问题如下:1. 上面代码段 , L DBW [MD 4] 如果 (MD4) 32位指针 换成 FC 块的 TEMP 变量, 是不是非法寻址。 也就是说 DBW [ 索引必须是 全局变量吗?] ?大虾:指针如果在块停止执行后不需要保存,可以用TEMP变量。菜鸟:谢谢楼上的回复,那么假设 我在同一个 FC块中 打开两个 DB块, 怎么分别对DB块中的 变量寻址?例如 : 、OPN DB1OPN DB2L DBW [1] // 访问DB1 中的变量,T DBW[2] // 访问DB1 中的变量,L DBW[3] // 访问DB2 中的
关于S7-300的进一步学习的问题
西门子工业业务领域 (0)菜鸟:各位师傅你们好,我是一名工厂的电工,现在自己学习了S7-300的编程,现在一般的像逻辑控制的能看懂,也能编编小程序,像电机的开启关闭等等之类。FC和FB块的调用等等也能看懂。但现在感觉到了一定瓶颈,不知道下面该学什么,看有些人编的一大段STL的程序,看不懂也不会,现在我应该看哪些方面的书或者怎么学习才能提高编程啊。实在没有方向了,望各位指教大虾:下一步就是熟悉工艺过程,某一个或者某几个设备应该再什么情况下动作,以及动作的顺序。游民:基础要打牢,数据类型、数制、间接寻址等。侠客:楼主跟我以前一样哦,我做过炼钢厂电工,多看看厂里的程序,结合工艺看看,看看哪里不明白就加强哪里大虾:看是必须的,能试着写两段,对提高水平有很大帮助游民:理解工艺,根据工艺看程序自然就看得懂了菜鸟:Automann老师说的对,主要是一些基础性的东西要打牢,尤其是数据类型和数制个人认为很重要!游民:不要看STL语言,那是**层的汇编语言。看看梯形图入门很容易。结合工艺深入
美铁塔巨头Crown Castle斥资71亿美元收购光纤资产
人民邮电报 (0)美国移动通信铁塔公司Crown Castle近日宣布,将出资71亿美元的现金收购宽带基础设施提供商Lightower,目的是增加自己的光纤资产。交易将使Crown Castle跻身美国城市光纤运营商的**军团。 Crown Castle是美国的大型无线网络基础设施运营商之一,AT&T、T-Mobile、Verizon和Sprint等美国的电信巨头都租用该公司的铁塔资源。 Lightower在波士顿、纽约、费城等美国东北部大都市拥有线路里程近32000英里(约合51499千米)的光纤网络。完成交易后,Crown Castle拥有的光纤网络长度将倍增至60000英里;同时,该公司将在美国前25大市场中的23个拥有城域光纤资源。 Crown Castle预期,收购完成后**完整财年,Lightower贡献的租金收益将为8.5亿至8.7亿美元;来自营运及未计财务成本前的可调整资金将增加4.65亿至4.85亿美元;每股摊派现金将增加15至20美分。 今年4月份,Crown Castle宣布以6亿美元收购另一家光纤网络运营商Wilcon,以获得后者超过1900英里的光纤网络;去年11月,Crown
Crown Castle 6亿美元收购光纤网络运营商Wilcon
讯石光通讯 (0)Crown Castle的收购狂潮仍在继续。近日,美国无线信号塔运营商宣布斥资6亿美元收购另一家光纤网络运营商Wilcon。交易预计将于第三季度结束。 几个月前,Crown Castle International公司()以15亿美元收购了大型光纤网络运营商FiberNet。今次收购同样也是为了支持对Small Cell连接的日益增长的需求。 收购FiberNet为Crown Castle带来了福罗里达州和德克萨斯州的11500英里的光纤网络,收购Wilcon则将为该公司带来洛杉矶和圣地亚哥约1900英里的光纤网络。Crown Castle在一份非常简短的交易声明中表示,收购Wilcon之后,公司将拥有超过28000英里的光纤网络。 一直以来,这家无线信号塔运营商为AT&T和Verizon无线等移动运营商提供租赁。*近,它一直专注于收购光纤资产,为Small Cell提供回程能力,从而满足特定热点的快速连接需求。 Crown Castle于2016年底收购了FiberNet,2015年该运营商收购了拥有10000英里光纤网络的Sunesys。去年,该公司还以4.61亿美元收购了另一家名
以下是3595天前的记录
STL
2 2014年07月07日 星期一STEP5.5SP3 FC块只能监控“前半部分”的原因
西门子工业业务领域 (0)菜鸟:STEP5.5SP3,普通的逻辑块。昨天,很普通的**,打开一个FC,监控,往下拉,居然出现故障退出监控了。经过反复测试,只要在NW15位置就会报故障并退出监控,离线状态拉倒*后点击监控也报警,代码33:53343。从帮助信息没看出什么,那就先看看和在线比较下,居然还真的不一致,可是,这个FC前半部分是可以监控的啊?!而且,看了半天,也不知道区别在哪里 ⊙﹏⊙打开以前的备份(本人是很喜欢备份的^_^),监控正常,没问题的。当时想,或许什么时候不小心改了什么吧。但想想又不对,首先这个FC是前部分是可以监控的,而且就算离线/在线不一致,也应该报警“离线/在线不一致,是否下载并监控”什么的吧?!斑竹:备份可以监控,新的只有前半部分可以。那比较备份和新的FC试试,该FC时间完全一样的。换个姿势比较,也是一样的。菜鸟:经历了关闭其他程序,重启,甚至试图用其他机子测试(因版本太低认不到硬件,放弃了)、上网查33:53343等等......都没有结果,*后想想,有明确的代码,就问问西门子吧。西门子工程师的意思:从故障代码看,是资源已经使用殆尽,建议关闭其他FC等等。就单凭故障代码,很难知道具体
以下两段stl程序区别在哪里?
西门子工业业务领域 (0)菜鸟:这两段stl程序区别在哪里?仿真出来好像没什么区别A M 0.7A M 1.0OAN M 0.7A(O M 30.6)= Q 0.0A M 1.7A M 2.0OAN M 1.7A M 30.7= Q 0.1大虾:主要是上面一段转不成梯形图,看不懂上面一段括号里一般应该有两条指令,两段的功能差不多。 菜鸟:没有了啊,程序里就是这么写的可能是原来有,修改后删了?大虾:你追求这个就本末倒置了,你要看你的逻辑要**什么,根据要求写出来就可以了,不要去管它了。可能是原来有,修改后删了?这样写也不算错,但是不规范。嗯,既然有或运算,就应该是有其它值的,删了一个,就相当于与1或了括号里的**条指令只是取操作数到RLO,并没有做逻辑运算。所以A(O M 30.6)相当于A M 30.6
言定时采集数据问题
西门子工业业务领域 (0)菜鸟:各位大侠:本人想把传感器数据每隔2S采集一次,放在DB1中,现DB1中建立了ARRAY[0..8000]的REAL型数组,拟采用STL语言写程序。 已经尝试了3天,依旧只能写一个数据。本人菜鸟,还望大侠帮助,大恩不言谢!!斑竹:用STL语言进行循环跳转,每一次跳转,指针直线DB块内的下4个字节的地址菜鸟:1楼可写一段可实现的程序否?斑竹:S7的数据块*大16k字节,合实数4k个数据,楼主这8001个数据。。。。。?至圣:我记得300的数据块的长度已经扩展到64k了。楼主还是检查下程序的指针处理部分吧楼主你要做fifo队列吗?斑竹:呵呵,8001个实数,数据量确实有点大了,一个周期内会占用CPU很多扫描时间的。楼主:我帮你想了点办法,存储100个数据,你可以参考一下。把OB3X中断时间设置为2秒,把下面的代码黏贴进去你可以测试一下。这段代码实现数据先进先出,DBD0是*新数据,DBD4是前2秒的数据,以此类推。。。。。。希望对你有些帮助OPN DB 1 //打开DB1LAR1 P#396.0 //初始化地址寄存器1(定义起始地址为396)L 99 //装载循环次数NEXT: T L
以下是3640天前的记录
STL
3 2014年05月23日 星期五关于stl程序问题
西门子工业业务领域 (0)菜鸟:TAR2L DW#16#FFFFFFAD //此处两字相与的作用是把TAR2变成32位指针的意思吗?L P##Data-in+D // 此处是加上偏移量P##Data-in 吗?LAR1TAR2 #AR2LAR2 P##DATAL B [AR1,P#0.0]T B [AR2,P#0.0]L B [AR1,P#1.0]T B [AR2,P#1.0]L B [AR1,P#2.0]T B [AR2,P#2.0]LAR2 #AR2L LB 0 //尤其不懂这三句程序的作用L LB 1L LB 2游民:*后能详细解释一下 谢谢!-斑竹:建议LZ补充协议指针的相关基础知识,包括指针的结构、指针的初始化和参数化等。大虾:TAR2 XX 是将数据存入累加器2FFFFFF相与是去除*高字节建议先学习指针的基础知识菜鸟:此段程序是构建源数据指针的一段程序TAR2L DW#16#FFFFFFAD //获得不含数据区的**地址L P##Data-in+D // 此处是加上偏移量P##Data-inLAR1TAR2 #AR2L AR2 P##DATAL B [AR1,P#0.0]T B [AR2,P#0.
关STL编程问题
西门子工业业务领域 (0)菜鸟:关于A “与”的说明是这样的:指令可以检查被寻址位的信号状态是否为“1”,并将测试结果与逻辑运算结果(RLO)进行“与”运算。这里有两点我不明白,如果A I0.0 ,如果I0.0=0,那么测试结果是多少?RLO又是多少?;如果I0.0=1,那么测试结果是多少?RLO又是多少?AN I0.1,如果I0.1=0,那么测试结果是多少?RLO是多少?;如果I0.1=1,测试结果是多少,RLO又是多少?斑竹:如果是网络的**条指令,A指令只是将测试结果装入RLO。如果不是,则将测试结果与RLO作“与”运算后装入RLO。菜鸟:O I1.0ON I1.1= Q4.0我看到书上的举例说,如果 I1.0=0,I1.1=1,则Q4.0=1.不知道对不对?游民:测试结果如何解释?如果AN I0.1,是**条指令,**条装入RLO中的结果是1,现在I0.1=1,AN I0.1是用1和RLO作“与”运算,还是0和RLO中作“与”预算?斑竹:西门子参考手册,2006年3月版。书名:S7-300和S7-400语句表(STL)编程 参考手册能用梯形图解决的 决不用STL来解决 因为STL不直观
S7-1500程序保护的问题
西门子工业业务领域 (0)菜鸟提问:大家好,有个事情请教高手。我*近用1500做了一个程序,FB块的输入,输出 都是用中文定义的,下载到PLC里面,发现了一个,就是上传的时候 FB的输入和输出还是中文的,并不是像S7-300那样 input_1,output_1这样的,而且每个变量表都能传递上来。这样就出现了一个问题,如果我不想把这样的程序给业主的时候怎么办呢。绑定CPU,和存储卡都不叫个事情,万一坏了呢 咋办。FB块给加密了 业主也肯定不干的啊,即使加密了 业主也能破解的,请问 大家有什么好办法吗斑竹:源程序使用SCL来写,编译成FB给用户。这样做,即使打开也基本看不懂。菜鸟 :可是 我现在用FB写的 而且是用梯形图编的 这个怎么办呢 !也不能转化成SCL和stl你说的是经典的STEP7版本, 用SCL源文件写完后,下载再上传就变成STL了,成天书了。在博途里可不是这样的。斑竹:你绕绕绕多绕绕,业主的工程师就不想看了。
以下是3732天前的记录
STL
4 2014年02月20日 星期四如何利用PLC实例程序提高自己单独做项目的能力?
西门子工业业务领域 (0)菜鸟提问:请教各位高手,如何通过某条生产线或者某个项目的西门子PLC程序,举一反三,提高自己独立完成PLC设计与编程的能力,包括选型、硬件组态、编程以及调试等。本人还没有亲自独立完成过一个项目(即从头到尾都是自己一个人搞出来),都是在别人编写完程序的情况下,自己修改相应程序进行调试和维护,对程序进行一个完善。对于原始程序里面的有些功能块包括机器人接口功能块、数据类型转换功能块、以及字转换成实数功能块,还有许许多多类似的功能块是如何建立,如何编写还不是非常熟悉。我想请教各位朋友,如果我现在想重新设计完成一个项目,单说编程这块,如果我的项目也用到了机器人,伺服电机,液压油缸,我能否将A项目写好的功能块(即上述我提到的那些FB)直接复制过来当做B的功能块,,然后自己按照上述功能块,相应的接口地址,编写相应的FC程序建立新的DB???真心希望有经验的朋友讲讲心得,谢谢你们!大虾:你说的这些都不重要,重要的是你告诉老板,这个项目我能做,我能行,然后老板把项目拿下交给你,这时候的你虽然可能不会,但状态是无敌的。侠士:我觉得 每个人都有**次做项目的时候嘛*好的办法是 有人带 2次一搞 自己就能独立
如何对多重背景FB里的变量进行位寻址?
西门子工业业务领域 (0)菜鸟:现象:在一个被调用的多重背景FB里,一个IN类型的变量#Date_Type,根据#Date_Type的值对FB程序中某些数据按定义的类型处理。如果#Date_Type=1,数据按INT处理,如果#Date_Type=2,数据按REAL处理,等等。问题:1.我要怎么对#Date_Type进行位寻址? 是用指针的方式得到这个变量的**偏移地址?有简单的方式吗?我 用的是LAD,LAD和STL可以直接混用吗?如果要用指针的话我还是用比较指令好了,比较#Date_Type中的值得出标志位。2.我知道S7-200中在子程序中可以直接L20.0,L20.1这样直接用。S7-300中可以类似这样用吗?S7-300中的局部数据L,应该怎么用?奇侠:你可以把输入数据传递给temp变量比如把一个word传给lw0,那么你就可以用L0.0~L1.7这16个位来表示这个word了。菜鸟:谢谢,帮我看看是下面这样吗? 举例:实参 3,形参(IN类型) #Date_Type (数据类型INT) L #Date_Type //把实参的值“3”传递
在SCL中pointer指针的问题
西门子工业业务领域 (0)菜鸟:例如在STL中一段求相邻的变量的和,使用PIONTER指针,我可以求MW0开始的5个变量,也可以求DB1.DBW10开始的5个变量。因为STL中有32位的地址寄存器。但是这样的问题在SCL中怎么解决?大虾:那循环语句就可以了菜鸟:SCL也可以用变量寻址FUNCTION FC2 : voidVAR_TEMPi: DINT;END_VARmw0 := 0;FOR i := 0 TO 9 BY 2 DO MW0 := INT_TO_WORD(WORD_TO_INT(DB1.DW[i]) + WORD_TO_INT(MW0));END_FOR;END_FUNCTIONL P##IN0LAR1 L W [AR1,P#0.0]T #MY_DBNUML D [AR1,P#2.0]T #MY_ADDRESSL B [AR1,P#2.0]T LB 10L LB 10L B#16#84==I JCN M000OPN DB [#MY_DBNUM]M000: LAR1 #MY_ADDRESSL
西门子S7-300以下STL程序如何转换成LAD语言?
西门子工业业务领域 (0)菜鸟:SET SAVE = L 12.1L #IN0L #IN2-R L #IN1ITD DTR *R L #IN3TAK T LD 14TAK L #IN2-R L LD 14TAK /R T #TEMP7L #IN1NEGI ITD DTR L 1.100000e+000*R T #TEMP5L #IN1ITD DTR L 1.100000e+000*R T #TEMP6L #TEMP7TAK >R JCN M001L #TEMP6T #TEMP7JU M002M001: L #TEMP7L #TEMP5JCN M002L #TEMP5T #TEMP7M002: L #TEMP7RND T #OUT4CLR A L 12.1SAVE BE斑竹:复
机床828D PLC能否使用STL语句?
西门子工业业务领域 (0)菜鸟:PLC编程工具 V3.2.3.5斑竹:只能显示,不能编辑。如果梯形图程序中有类型不对,但可以编译过去,当切换到STL 之后无法切换回去例如#CNT TEMP INTLD ONEMOVW #CNT DB4900.DBW900无法切换到梯型图界面因为无法编辑 所以也无法删除 造成 程序无法使用请大家注意!大虾:在v3.2.4.8中如果子程序的名为ALARM也会编译不过如果828d 也用集成S7-300就好了斑竹:828集成了300谁去买840?大虾:虽然市场定位是不同,难道就不能在功能、硬件或其它方面进行限制了来做吗,自家的系统非要整出这么多相互不兼容的东西来,不光是PLC,扩展用户接口等也这样。一点也不顾及制造商的使用感受吗。NC程序可以在不同档次的系统中统一并可以兼顾ISO编程让*终用户的使用感受一至。专注的做一件事不是更好!如果大家都想如果828集成了300谁去买840,这可能永远都不会改变,反之亦然!
以下是3811天前的记录
STL
5 2013年12月03日 星期二S7-300西门子step7的编程问题
西门子工业业务领域 (0)菜鸟:S7-300的跳转指令JC和JCB,JN与JNB的区别是什么,什么情况下必须要用JCB或JNB,什么时候只用JC或JCN就可以了,我很迷糊,望大神指点。侠士:JC RLO=1时JCN RLO=0JCB RLO=1 BR=1JNB RL0=0 BR=0JN 若非零则跳转。斑竹:跳转条件不同:判断状态位的,JC :RLO = 1时跳转;JCB:RLO=1且BR=1,则跳转;JNB:RLO=0且BR=0,则跳转;JN是判断CC1、CC0中的结果的条件跳转:结果非0,则跳转。至于怎么用,那看你要怎么做了,根据自己需要选用。奇侠:JC和JCB的跳转条件相同,都是RLO=1时跳转,区别在于JCB多一个操作,将RLO复制到BR位。JCN和JNB的跳转条件相同,都是RLO=0时跳转,区别在于JNB多一个操作,将RLO复制到BR位。能影响RB位的指令很少。侠士:2楼和3楼谁正确?奇侠:3楼是对的,JCB和JNB里BR位不是做为跳转条件的。侠圣:个人只用jc和jcn,简单明了,要对br处理另外加条指令。奇侠: JCB和JBN用得很少,正确使用可以一举两得斑竹:《SI
如何学好西门子300结构化编程
西门子工业业务领域 (1)菜鸟提问:各位大神:对300只能用梯形图编程。想学好语句表编程,却无从下手,还请指点!万分感激酱油甲:先搜个STL的手册看吧,再复杂的编程方式就会的人更少10083大虾:呵呵,step by step,一步一步来吧!梯形图只是一种编程语言,用梯形图也可以进行结构化编程。建议先从线型化编程开始,达到一定基础再模块化编程,到了一定境界结构化编程的思想也就有了。这些都需要一个过程。STL也只是一种编程语言,学会STL需要你更多的坚持和努力。酱油乙:楼主有其他语言的底子吧,STL说实话比C语言简单多了,就是指令总有个陌生到熟悉的过程呢,...
梯形图用LAD模式还是STL模式?
西门子工业业务领域 (0)菜鸟君提问:我想问下同行们,你们都是用LAD,还是STL模式? 心里有点困惑,手册里面好多都是STL写的。感觉LAD编辑的时候挺麻烦的,复制粘贴都是困难,也没有像别的厂家的PLC编译器那样的快捷键,用STL可以解决问题,但是总觉得STL在线调试的时候不好看,不直观,也不习惯。特别是300系列的,STL感觉更有优势感,但是就是不习惯啊。我用的是LAD。三菱,欧姆龙,台达,永宏这些用的都是LAD.酱油甲:个人使用习惯而已,我用STL指令是因为只要用到键盘,打字就行,方便,不要老是用鼠标点来点去。在编写一些运算,跳转指令时也方便。用到逻辑控制复杂一点的,还是用LAD的方便点酱油乙:我用LAD,方便查找酱油丙:用LaD的多一些吧,也许是看习惯了,别的有点费劲。菜鸟:能不能STL和LAD在一个项目里面交叉使用? 比如主程序用LAD,数据运算复杂的部分放到子程序用STL写,这样调用会不会出问题? 有人试过吗?-酱油甲:可以的,不会有问题的。LAD/FBD/STL随便你用,不过要在不同的网络段里才可以我基本都用LAD编程。因为LAD自带注释,变量不容易写错位置,形象直观,很容易查错。酱油丁:用LA
西门子S7-1500的GRAPH语言问题
西门子工业业务领域 (0)菜鸟君:前段时间与西门子一位工程师沟通,其告知目前Portal V12 SP1未支持GRAPH编程?但在选型手册上,看到了GRAPH(SFC)字样,发帖沟通,是否此GRAPH与STEP7 V5.5一样的语言?还是是STEP 7中的SFC语言?西门子后续是否会完善Portal的GRAPH语言?沙发君:这个可以有!TIA Portal早支持GRAPH(300/400)了,V12 SP1已经支持对S7-1500进行GRAPH编程了。与V5.5的GRAPH基本一样,我还移植了一个300的GRAPH程序到1500。菜鸟君:那太好了,我现在用的是三种语言LAD、STL、GRAPH,后续引用SCL都全了,编程语言方面少了担忧。。。另外S7-1500是否没扩展4个模块,就需要加装一个PS模块?沙发君: 简单的说,PS的主要作用是向背板总线供电,虽然CPU也有总线供电能力,但毕竟容量有限。所以当CPU后面带的模块超出了CPU背板总线供电能力的时候,就需要使用PS。但一般来讲,没有4个那么少,具体耗电量需要看具体的模块。 Portal 会根据CPU后面带的模块数量自动计算供电能力的。无须自己手
STL编程使用中的一些问题
西门子工业业务领域 (0)菜鸟:刚开始用STL编程,想实现的功能是:I0.0到I99.7 to DB36.DBX0.0复制到DB36.DBX99.7,M1000.0到M1099.7 to DB36.DBX100.0复制到DB36.DBX199.7。请问下面的程序有问题吗?Network1:OPN "REG_AREA_6_1" //打开DB36LAR1 P#0.0 //初始化地址寄存器1L 50 //循环次数(数据个数)NEXT: T LW 20 //存储当前的循环次数L IW [AR1,P#0.0] //装载当前IW地址里面的数据到ACCU1(从IW0开始)CAW //反转ACCU 1-L 中的字节顺序T DBW [AR1,P#0.0] //将当前ACCU1地址里面的数据写到DB36当前的地址里面+AR1