高赞帖很多人喜欢IQ在程序中做一个中转,Q信号做中转可以理解,I信号做中转有什么好处呢。大家讨论下呢
博图v13上载的,没有任何改动,直接编译,就报2个警告,警告如下图,不知道是什么意思另外,在网络视图里,为什么没有触摸屏呢?
请问一下各位大神,正在运行的S7-300PLC如果我想修改一行程序,只在OB1增加一个逻辑判断然后输出一个Q点。请问可以直接下载吗?还是需要停机?是编译后点,还是下载到存储卡?平时接触的不多,怕直接改会导致PLC出异常。求助各位。万分感谢!
用S7-1200做主站,断电后通讯就不行了,要Mres一次又正常了,断一次电就得复位一次,不知是怎么回事,采用的是位轮询,请高手指导下
前面问了两个个问题,S71500T实现S120主从控制,扭矩控制https://www.ad.siemens.com.cn/service/answer/solve_341585_1093.html S7 1500T实现S120两台伺服同步回零,同步控制,力矩同步,类龙门方案https://www.ad.siemens.com.cn/service/answer/solve_341643_1084.html 各位做个参考问的问题不是很全面,不能再补充说明,参考前面的问题,再次提问,找答案提问限制较多,来论坛。硬件:1:S7 1500T:2:CU320-2PN3: 两台S120驱动器,两台1FK7伺服电机4:1个原点传感器,2个正负极限传感器,共3个工艺要求,应用说明:1:两台S120伺服电机1FK7,使用S71500T控制。2:两台电机A和B,使用刚性连接(同轴硬连),推动同一负载,实现同步控制,两电机各承担总负载的50%,例:负债瞬时达到100NM,每个电机输出扭矩50NM,两电机扭矩输出不要差距大。当受力面受力不均匀时,能保证两边不扭曲,卡顿,有点类似龙门结构,但受力是一个面,不像龙门是一个点。类似图AB.3:这个刚性连接(同轴硬连),包含A和B电机,组成的整体结构上只有有一个原点传感器,正负限位各一个极限传感器,共3个传感器。TIA V20TO配置中将3个传感器接关联到电机A上,根据外部传感器实现主动回零,遇到极限传感器停止。如图传感器回零,图正负极限位传感器控制方案与测试结果:1: 两电机均使用报文105+750报文,TIA V20中建立两同步工艺对象TO2:使用同步控制MC_GearIn已实现两轴的同步,速度与位置同步,扭矩是否同步没检测。电机A作为主轴,电机B作为从轴。出现的问题:1:如果遇到一边的电机B受力比另一侧电机A有明显增大时,就会报警,所以需要实现在出现这种受力不均匀时,两边力矩能自动补偿调节,不要一个电机出力,另一个电机电机不出力或出力差距大。两电机只要不超过设定的力矩限制就不要报警,停在那里保持力矩输出也可以,除非两电机位置偏差过大报警。2:回零结束时报警。从轴使用了MC_GearIn同步,其中主轴A启动回零后,从轴B会跟随主轴A运动,但是由于到达零点传感器后,有一个反向动作,并且主轴A回零结束时主轴实际位置值会变为0,从轴B由于在同步中,会突然接受到一个突变的主轴A位置,从轴B就会报同步误差过大停机。3:上个回答中 “循环传送:LAxisMaster.Torque → LAxisSlave.TorquePreControl”, 是没有LAxisMaster.Torque的,并且按回复P1511已经连接了主轴的R79/R80,这里是不是重复连接了。总结需求:我现在这种方案哪里有问题?如何解决以上工艺要求,第一次使用这种控制方案,不是很懂,也可以推翻以上方案。
核心要点总结:Engineering Copilot(工程助手):引入了AI辅助的工程助手,支持自然语言交互,帮助进行HMI可视化、PLC代码创建等工程任务。项目升级:从V21开始,仅支持升级V14及更高版本的项目和库。V13或更早版本的项目需先升级到V13 SP1/SP2,再升级到V21之前的版本。经典项目迁移:V21不再支持直接迁移经典项目或中间迁移文件,需使用V14-V16的集成迁移功能或V17-V20的外部迁移工具。SIMATIC STEP 7(PLC编程)SIMATIC Source Documents (SD):扩展了FBD和SCL块的导出/导入功能,支持以文本格式进行版本控制(如Git集成)和自动化工程工作流。数据块下载优化:支持在下载到设备时保留数据块的当前值,即使数据块结构发生更改(需满足特定条件,如S7-1500 V4.1固件、优化块访问)。命名值数据类型:增强了细节视图、在线功能、注释显示、重命名时的引用位置更新等。Trace功能:支持记录和诊断Motion Control技术对象的事件。新指令:增加了用于S7-1500软件控制器与实时信息总线通信的新指令。ProDiag:可为监控分配名称和实例标签,便于识别和评估。SIMATIC WinCC Unified(HMI/SCADA)高效配置:改进了迁移工具(Data2Unified,支持VB脚本到Javas cript的转换)、标签优化(仅统计实际使用的标签)。新控件:增加了报警指示器、报警线等新对象。参数集控制:支持数组标签、可配置字段标签和小数位等。阈值配置:为标签增加了可配置的阈值范围。Audit Reporting:预配置Audit查看器设置和报表生成作业。系统功能:新增发送邮件、设置焦点、导出/恢复日志等系统函数。运行时:支持多显示器显示、远程网络访问。连接性:新增MQTT Provider;OPC UA支持PLC报警和多实例报警、历史数据读取。硬件配置S7-1500/ET 200 CPU固件V4.1:提高了OPC UA服务器/客户端的配置限制;增强了用户管理、Web服务器功能;支持跨项目等时同步模式。S7-1500 R/H CPU固件V4.1:支持RUN模式下硬件更改(CiR)、GDS Push更新证书、更多PROFINET IO设备等。S7-1200 G2:介绍了第二代S7-1200 PLC的新特性,如更快的执行速度、安全功能、Motion Control扩展等。PROFINET:新增安全认证方法(安全等级1)、跨项目等时同步模式等。其他工程工具和选项SIMATIC Visualization Architect (SiVArc):支持新设备、颜色调色板、布局旋转角等功能。SINAMICS Startdrive:支持新驱动器、新的下载模式、Trace on device等。TIA Portal Openness CAx VCI:API增强,支持更高效的自动化和数据交换。TIA Portal Multiuser Engineering:全局库的独占多用户模式。工程选项:TIA Portal Safety Validation Assistant、TIA Portal Test Suite、中央用户管理(UMC)、STEP 7 Safety等的新功能。变更跟踪:V21支持记录工程变更日志。运行时选项OPC UA:S7-1500(R/H)支持通过GDS管理证书,提高了配置限制。总结TIA Portal V21 是一个重大更新,重点在于提升工程效率(AI助手、更好的迁移工具、代码版本控制)、增强可视化功能(新控件、参数集、报表)、深化集成与连接(MQTT、OPC UA增强)、扩展硬件支持(新CPU固件、S7-1200 G2)以及强化安全与诊断(用户管理、ProDiag、Trace)。https://docs.tia.siemens.cloud/r/en-us/v21/what-s-new-in-tia-portal
一次新建S7-1214C Modbus rtu通讯故障的排查 问题大概半个月前,我帮公司同事排除了一起因为Modbus rtu通讯从站通讯参数设置错误,引起轮询停止的通讯故障。通过现场排查的步骤,同事基本掌握了该通讯故障的排除方法,并开始增加了工作的兴趣。前几天,同事根据我现场讲解的要点,自己创建了一个通讯测试程序,结果通讯程序存在只能写而无法读取到从站数据的问题,让我来诊断分析故障的所在。一拿到程序,我首先从硬件CB1241的硬件地址能够匹配Modbus_Comm_Load指令各管脚与从站的通讯参数,是否有不一致的情况,硬件标识符合通讯指令,通讯参数均与从站匹配。且能够写也基本说明了外部硬件的连接及通讯初始化Modbus_Comm_Load指令被正确执行。 我重新对Modbus_Comm_Load/Modbus_Master 指令的外部管脚所调用的变量地址,指令的背景数据块进行的检查确认,未发现实质性的问题。也试了试删除重建,结果仍然是只能写而无法读的问题。 到自己的电脑上,重新创建测试项目,读/写均正常,自此,让我想起了portal的版本与实际plc版本的兼容性问题了,前面排障的铺垫就是为了证明这个论点。 同事的电脑安装有portal版本是V15/V16/V17这3个版本,而同事测试环境是V17中创建的,V17创建的plc版本他选择了V4.5,而实际的plc版本是1AG40,V4.2的版本。将版本调整为V4.2重新下载设备试图后,读/写正常。由于整个排障过程在同事的电脑上,我没有截取故障时的图片,无法读取时,Modbus_Master 管脚status = 8281报警。小结:Modbus rtu通讯只能写,不能读的故障原因。1)软件编程cpu版本,必须与实际连接的cpu版本一致;2)当报警出现时,首先需要对报警信息进行解读,从信息中找可能的原因;3)尽量在调用指令时,用自己熟悉的方式,在排障过程中,我也给同事的编程方式绕了一下排障思路,熟悉就是稳定/可靠的;4)初始应用,建议先编写一个简单的通讯指令,等通讯正常了再展开编写轮询方式;5)建议用自定义的变量,按规律和顺序调用变量,对初次使用的用户,可以避免通讯错误。
软件大概用了11个月了,windows与 今年4月已经暂停更新 ,V18软件也已经重装过没用,之前都用的好好的是突然崩溃的然后防火墙和杀毒软件都是关闭得,是不是得重装系统了。
现场使用的是冗余1500,如果不使用冗余MODBUS TCP指令,是不是cpu切换的时候就会断开连接。如果使用这个指令,就要购买授权码。
如图,假如我的急停信号是由几个串联的,改怎么写?软件编译说不支持我这种写法,请问我该怎么写才对
真是吸取教训的一次啊 db数据块新增加了数据,导致初始化了db块,恢复到默认值了;下次得注意这些东西啊,
P462 Accel. Time的解释:Acceleration time of the ramp-function generator for acceleration from 0 to 100%. 我的疑问时这个100%是指参考速度p353的100%还是额定转速p108的100%?
上下游设备和我的设备用的都是S7-1200PLC,我和他们之间有联锁联动,想通过S7协议控制上游和下游设备运行,那么上下游设备博途软件和我的博途软件版本要求一致吗?不一致会不会出现通讯故障?求助大家一下,谢谢。
博图V20 S7-1200 通过MODBUS TCP 读取第三方驱动器参数时,MB_CLIENT 错误代码为 16#818D 。
有八台设备,MODBUS-RTU采集设备运行数据。寄存器数量77个,需要采集的数据,不是连续的,比如需要采集40001-40007、40010-40018、40026-40030、40074-40077。是一次性采集77个寄存器,还是分开采集,两个比较哪个比较好一些。现在采用的是一次性采集,轮询时间在2秒-3秒。
我们一直在用的一款倍加福高阶测距传感器,485,应答通讯的.好多年了项目交付的也很多.最近有一个场地的一台出现了问题,在调试的时候,我发现波特率不对应其实也能通讯?倍加福传感器默认是115K波特率(最低允许设置到38.4K波特率),PLC这边配置38.4-115K波特率其实都能无障碍通讯,且很稳定.这有点违背认知了,请教下.另外也请教下,1200的CB通讯板和左侧的485模块,两者处理能力是否有区别的?针对需要将波特率设置到115K的场合.
求大神指导下,在PLC S7-200 Smart中的数据日志采集如何设成1ms触发记录一次,正常485通讯读取模块的实时温度的。
STEP 7-MicroWIN SMART2.5与win10系统通信,进入通信,查找cpu无结果,在台式机上同样的软件网线,plc可以正常通信,
今天,领导通知我去客户那里看看,只说是更换压力表。下午带着压力表及扳手就过去了,实际上,根本不是压力表的事情。这是一个大厦的换热站,里面通过wincc软件(基本操作过),控制供暖系统,客户反馈说,是压力数值不显示、远程水泵不启动。(蒙圈了,哪里是更换压力表的事情)临时抱佛脚,赶紧给西门子客服打电话,没想到接通还挺快,(那哥们首先说别着急,其次说必须专业的人处理,还挺直接的,一点不委婉)连夜来西门子官网学习,希望能找到解决的办法。距离星期一,还有2天时间,必须要在周一供暖的时候解决。
如题, 12相, 用EMF速度环转车时, 报F60042故障, 排查时, 发现电枢电流几乎和励磁电流同时出来,启动电流90%多。。设置P50396 = 80%, 但是曲线上看还是几乎同时出, 这有点想不通了。问题1, EMF速度环报F60042是由于编码器硬件问题造成? 2. P50396为何不起作用? 因为我看r50000,提到o5.0就是等待励磁电流P50396.@老兵, 老师, 请指教。
现在有个项目,1200连了1个远程IO模块,经常会报远程IO模块通讯异常,并且远程IO模块上还接了一个急停,急停用的常闭,所以就会出现急停报警跟远程IO通讯异常同时发生,于是想到了改看门狗时间,发现原来的刷新周期是16ms,看门狗是3个周期,于是把看门狗改成了30个周期,但是有个疑问,假如不再报IO通讯异常,那急停会不会报警,IO刷新的时间是看门狗到了才刷新吗?
最近在干一个比较难搞的项目,一个手动缝纫机的自动化改造。缝纫机正常是人工上料,通过脚踏板去控制启停,去控制缝纫距离。改成自动化以后,只需人工把布料放到送料治具上,点击启动按钮,剩下的就是设备自动完成缝纫过程,直到结束后再人工下料。缝纫机这边用的是信捷PLC,带了2个伺服和一个步进。2个伺服一个是控制缝纫的针,在主轴上,沿着一个方向旋转,通过机械结构实现上下缝纫动作,一个控制机头下面的顶针,两个方向来回走定位,通过机械结构实现顶针的升降动作。步进电机控制的是送料的皮带轮。程序是封装的,我看不到一点。我这边是西门子plc,带了一个步进电机,去控制送料治具的动作。第一步,通过缝纫机的触摸屏找到了它IO的点位定义,然后通过观察踩踏脚踏板时它plc点位指示灯的亮灭和缝纫机的动作,去判断哪个输入信号是控制什么动作的,费了很大的力,算是搞懂了它的一个启停信号搭配,然后通过继电器转换,把我的西门子PLC输出信号转成NPN的,接到了它的相关输入点位上,这样就实现了我对它的直接控制。第二步,也是最难的部分,就是我的送料机构带着布料走定位,到达缝纫起始位后,开始缝纫时要和它的皮带轮同步,这样皮带轮带着布料前进后退的时候才不会出现拉拽的情况。最初的方案是走定位的时候我这边去控制,缝纫开始后切换到缝纫机的plc去控制(信号切换通过继电器去实现),也就是信捷plc一拖二,同时控制皮带轮和送料治具,用的信号点就是脉冲和方向。最开始调试的时候发现,信号切过去以后,只有它的皮带轮动作,我这边电机没反应,问了客服,说是可能是plc输出电流带不动2个步进电机,于是网上买了一个能把脉冲和方向信号一转二的模块,重新接线用上以后是可以的,也就是实现了一拖二的动作,但是新的问题又来了,皮带轮和我送料治具的速度不同步,皮带轮要快很多,这种差异很难去通过更改机械结构精确矫正过来,这样就把这个一拖二的方案推倒了。前面一堆工作全白忙活了。第三步,现在的方案就是最笨的办法,送料治具我这边去控制,然后去模仿缝纫机的动作,以实现同步的效果,目前已经调了2天了,很难,一次次改参数。同时启动,拍视频,慢放对比,看看是快了还是慢了,再去改参数,不断的重复,尝试,有点进展,还有挺长的路要走。。。。。。。注:在缝纫机的主轴上我们装了一个编码器,用来确定缝纫距离。
最近在使用中,遇到一个问题。已知一个字符串“[M251236D1][100Cr6][E1250396]”,在生产中,这个方扩号中的数值不固定、长度也不固定。现在需要将每一组放括号里的字符串提取出来,供后续使用。现在是使用FIND指令,发现只能寻找到完成第一组数据提取。提取第二组时,如何才能让寻找到字符串中第二次出现的‘[,的位置。下面是查找第一个方括号内容的SCL语句。可以实现查找第一个方括号里的内容。inputString是总的字符串// 查找第一个方括号内容startPos1 := FIND(IN1 := inputString, IN2 := [);endPos1 := FIND(IN1 := inputString, IN2 := ]);IF startPos1 0 AND endPos1 startPos1 THEN output1 := MID(IN := inputString, L := endPos1 - startPos1 - 1, P := startPos1 + 1);END_IF;
我发现我去的一个现场,设计者把电源的+通过一个急停开关把所有伺服的STO1和STO2穿起来接到PLC的输入端,这样按下急停时,所有的伺服直接停机,而且PLC还得到一个信号,这种串起来的接法没有找到相关资料,但是现场能用,这样对吗
假设甲方设备一直在用,然后跟我们说设备与问题,一直闲置未用。就理直气壮的拒绝付清尾款,那这个情况我们要获取PLC的运行日志,如何获取?有没有大佬以前这么做过?必须要找到他们运行设备的证据,包括产能等等,我PLC上都有数据。
之前发过一个PTP编程方法的系列帖。PTP就是指点到点自由通讯。帖子连接如下:https://www.ad.siemens.com.cn/club/bbs/PostStory_1963674_80.html#anch这2天探索了PTP模块的2吃。所谓2吃,就是一个PTP模块同时利用它的232和485口。这就要求对PTP模块实时地频繁地进行232模式和485模式的切换。今天这帖跟大伙说说这事。先说工艺上。工艺上有2个分子泵(分子泵一种抽真空的高速泵,内含变频器)。这2个泵是一个厂家的,但是型号不同,一个是Mag型,这是一种大泵,工艺中也称为TB1。一种是Turbovac型,是一种小泵,工艺称为TB2。工艺的要求是:PLC与2个泵进行通信,通过通讯对2个泵进行监控。大泵通讯口是232,小泵通讯口是485,他们均采用USS协议。这个USS协议是我用程序编写的,没有采用博途库里面的块。这个问题先不表。根据工艺要求,我采用了ET200SP的PTP模块作为与泵通讯的模块。这个模块安装在2个泵旁边的子站中。这个模块的样子如下, 图1图片看着大,实物不大。由于一个泵是232,另一个泵是485,所以选用2个PTP模块,一个模块用作232通讯,另一个模块用作485通讯。图纸如下图,2我编写了程序,2个泵用了同一个FB块,不同的背景数据块实现2个泵的PTP通讯。以上的做法很常规。在我之前的系列帖子中也有讲到这个例子。 在回顾上面图2的PTP模块时,我发现这个模块有个特点。端子1-10用于RS232,端子11-16用于RS485。为此,我联想了一下,能不能充分利用1个模块的端子同时与232泵和485泵通讯呢?1个PTP模块进行2吃。下文称为 “2in1” 。尝试一把。先改图图,3图3中把2个泵的通讯线接到了一个PTP模块中。然后把之前的通讯程序稍作修改。了解我之前帖子的同行都知道,我编写程序习惯有层次。在这个案例中有层次的程序的优势显现了出来。只需要将之前的程序中应用层改写一下,保证2个通讯不同时进行就可以了。经过调试,发现我的2吃想法可以实现。到目前已经稳定运行了2天了。也测试了2种异常情况。第一种异常情况:热拔出模块,热插入模块;第二种异常情况:关闭一个泵电源。这2种异常情况下,程序可以很好的适应。由于程序分层次,也比较大。无法在这里复制。如果有需要的同行,可以联系我。在这里我把程序的结构说一说。,图 4Leybold_PB这个文件夹,先不用理会,这个是之前用PROFIBUS通讯的程序。Leybold_USS这个文件夹中的内容是一个PTP模块对应一个泵进行通讯的程序。这个文件夹是之前编写的。Leybold_USS_2in1这个文件夹是这次编写的,用于一个PTP模块对应2个泵通讯的程序。其中的一个FB是主要FB,PTP2in1_Leybold。这个FB中程序相对简单。这个块中主要调用了Leybold_USS这个文件夹中的内容。这也是我之前强调的编程要分层次。虽然有层次的程序架构编程稍微繁琐,但是好处很多。在实现2in1的功能时,80%的程序是之前1to1模式时编写的。当需要2in1模式时,直接拿来用就可以了。这里说说FB(PTP2in1_Leybold)的内容,图5NEWWORK 1 用于触发通讯。要完成,定时功能,完成2个泵通讯不打架的功能。NEWWORK 4 用于配置PTP模块,收发,复位功能。每次触发本块,要对PTP模块进行配置,配置时,就包括了232/485的选择,波特率等的配置。这里强调,用软件进行配置可以与在硬件中配置相同的效果。但是软件中配置可以随时更改硬件配置。正是由于这一点,所以才可以对一个PTP模块实现频繁地实时地切换232/485工作模式。NEWWORK 6 用于AA。AA的作用在我之前的系列帖中有描述,这里不多介绍。NEWWORK 7 用于判定这次通讯结束,并为切换到另外一个泵通讯做准备工作。下面2张截图就是在OB1中调用PTP2in1_Leybold的情况图6,大泵的调用图7,小泵的调用这里面再介绍一个小技巧。要用一个泵通讯任务结束标志去开启另外一个泵的通讯任务。这种方式来对一个PTP模块进行时间2in1的工作分配。不要用定时器强行分配2个泵的通讯。这个帖也不短了,先说的到这里吧,以后有想到的,再跟帖。谢谢. 应7楼伙计的要求,这里把FB(PTP2in1_Leybold)的内容进一步说明。图1图1是NETWORK 1的截图。这个段中trigger中,要满足2个条件,那么本实例OPEN。OPEN的意思就是占据了PTP模块端口的使用权。这2个条件是:1,与上一次OPEN的时间间隔要够。2,另外一个实例的通讯任务完成,出让了端口的使用权。 //first scan中的内容是在满足条件的第一个扫描周期进行一些初始化工作。图2图2的内容是2个。一个是获取本FB块2次运行的间隔,变量ime.Interval。这个变量在本FB中多次用到。另外一个内容是判断是否与上一次OPEN的时间间距足够,#Reach_Interval。NETWORK3 没有太大意义,主要统计本次FB的OPEN持续时间。方便调试工作。图3图3是之前在1to1时编程的块。作用是:1,配置PTP模块。2,进行收发工作3,复位接收缓冲区。这个块是一个通用的用于PTP模块的块。这个块的引脚Init为ture时,这个块就会对端口为Port的PTP模块进行配置。图4图4中NETWORK 5的内容是等待图3的块配置完成。当完成是会置位#RS_AA.RO_AA.EnCom。当这个变量有上升沿时,将轮询号码置位为10NETWORK 6 说明这个块是一个标准的轮询块。这个块内部含有AA。所以块名称是polling+AA。这个块能完成,当轮询号等于本身的轮询号时,开启AA。这里特别说明。其实无需轮询,因为就一个AA。但是这个块也是我之前编辑的标准块,被很多项目使用,应该是BUG-FREE,所以就直接拿来用。用着放心。上图network的作用是判断何时关闭OPEN,并为下次开启OPEN做准备,也为开启另一个FB(PTP2in1_Leybold)实例做准备。这里多次讲到FB(PTP2in1_Leybold)实例。意思是:在OB1中有2次调用FB(PTP2in1_Leybold)。每一次都是一个实例。每一个实例对应控制PTP端口的不同物理层。