热门帖

我定义了DBD142与DBD146,博途在程序里无法调用DBD144怎么办,S7根本没有这种问题啊

最新内容

不对,现在又出现了一个实在想不通的问题,我用同样的方式,在同一个块DB111中,定义了DBX126.0到DBX149.7,然后调用DBD144,就出现无法调用的情况,这是为什么?

问题一:我在移植S7程序到博途的时候,在博途里我在DB111中定义了DBD142与DBD146,然后在STL程序里写入DB111.DBD144,出现了无法调用的问题,但是这种问题在STEP7中是不会出现的。无法写入DB111.DB144在我的STEP7老程序中,根本不会有这个问题。问题二:包括定义了DBD142。调用DBB142也可以,但是根本不可能写注释,因为偏移量是灰色的,根本不可以自己写。

手机用户202207290RN8BV

2025-06-17 17:02:19 149 9 3

参与讨论
变频器给了047f不动

最新内容

首先,启动需要上升沿,可以先检查下,其次检查变频器的参数设置。

状态字是eb70控制字发什么复位呀

手机用户20211126719655

2025-06-17 16:38:34 152 9 1

参与讨论
精华
【分享】PLC做MODBUS从站时,免重启更新从站配置。

最新内容

学习学习!!!!1

MODBUS从站地址修改免重启.zip经常碰到客户需要更改从站地址,波特率等信息。设备又不方便重启。直接修改无法生效,需要切换PPI与MODBUS,才能生效。程序置位M0.2即可生效。

白色的墨水666

2025-06-17 16:12:53 243 6 1

参与讨论
S71200通信板问题

最新内容

可以的,需要设置下

请问S71200的485通信板能不能直接触摸屏486通信口通信?

youzhiwei8

2025-06-17 14:54:29 134 10 2

参与讨论
G120 搭配cu240e怎么实现plc读取变频器电流

最新内容

okok已经搞定啦

如题现在g120搭配了cu240e通讯盒,profinet通讯,但现在发现不知道怎么读取变频器电流到plc用于故障判断

手机用户20211126719655

2025-06-17 11:35:58 116 11 1

参与讨论
西币兑换的奖品有质量问题,怎么处理

最新内容

我遇到过,当时兑换了一个礼品,收到后发现不好用,直接丢了,反正积分兑换的又没花钱

西币兑换的奖品有质量问题,怎么处理 刚收到的,发现有裂纹

DRAGON?

2025-06-17 11:18:20 132 6 0

参与讨论
【跟帖有奖】1847宝藏视频挖宝行动!赢西币+定制好礼!

最新内容

视频链接:https://1847.siemens.com.cn/course/detail/1/1811418 推荐理由:50个梯形图小程序,讲解简单明了,应用广泛,真实掌握后能解决大问题。

西门子1847工业学习平台中藏着海量技术视频,但总有些“宝藏”被埋没!即日起,邀请您化身“1847挖宝人”,分享您私藏的1847干货视频链接,让更多工程师一起涨知识!活动时间即日起至2025年7月31日参与方式——分享内容:下方跟帖回复,直接粘贴1847平台视频链接(需附1句话推荐理由,如“这个S7-1500运动控制教程太详细了!”)视频主题不限(如PLC编程、工业通信、自动化案例等均可)【示例模板】视频链接:https://1847.siemens.com.cn/course/detail/1/17714/545 推荐理由:视频讲解了S7-1200的运行规则和基本指令,通过程序实例的编程,在线和调试,实操步骤超实用!——奖励机制:“基础参与”奖:成功跟帖分享,即可获得论坛10西币奖励“人气爆款”奖:有帮助数TOP5的分享,额外奖励300西币/人“锦鲤幸运”奖:随机抽取3名参与者,赠送西门子定制手拎随手杯赶快点击前往1847工业学习平台参与吧——————每周“1847宝藏视频”清单——————(待公布)Tip:学习1847课程中遇到问题?立即点击「提问」按钮,一键发布疑问! ~~~~~~问题不过夜,知识不卡壳~~~~~~~~~注意事项(1)仅限1847工业学习平台中的视频;(2)帖子内容需符合平台规定(《技术论坛原则》、《关于 AI 辅助创作内容的使用规范》),不得涉及敏感话题,非技术的灌水内容,将会被取消本次活动资格;(3)西币奖励发放,注意查看站内信消息,西币领取自发送日起60天有效;(4)实物奖励在活动结束后统一免邮费邮寄,请及时更新“我的支持中心”中的收货地址信息;(5)法律范围内,本活动最终解释权归西门子所有。

2025-06-16 21:05:16 457 8 1

参与讨论
卸载博图又重装装不了

最新内容

IT人员装系统都图方便,直接用一些安装软件去装,这样容易造成问题,最好是直接装系统为好

换了新固态,把之前电脑系统迁移到新固态,博图软件卸载了,重装就装不了。

本多杰明

2025-06-16 12:40:25 249 9 2

参与讨论
如何延长s7200,PPI协议下的通讯距离,具体设备用哪种?

最新内容

ppi是一种485通信,距离不止15米,有485中继

如何延长s7200,PPI协议下的通讯距离,具体设备用哪种?

沙鲁

2025-06-16 11:00:17 136 5 1

参与讨论
精华
关于modbus rtu通讯调试过程的那些事6

最新内容

好贴,先用串口调试软件测试OK了,再进行其它联机通信,简直就是事半功倍。

关于modbus rtu通讯调试过程的那些事6串口调试软件与S7-200SMART从站数据测试测试硬件: 用串口调试软件sscom5,1版本,与西门子S7-200 SMART SR30 + CM01组成的测试单元,CM01与电脑连接的RS485转USB绿联成品转换电缆。1)新建测试项目,在“系统块”中新建SR30,在SB插槽中插入CM01(prot1)通讯模块,其中,RS485转USB绿联转换电缆的A连接CM01扩展板的Rx/B,B连接CM01扩展板的Rx/A,图示1:PLC硬件cpu组态及通讯板选择。2)根据西门子S7-200smart 官方手册资料,创建一个s7-200 smart从站,图示2:根据官方手册帮助,填写各管脚实参。3)编译没有错误、保存后,下载到plc并run运行,图示3:下载后,在线发现从站填写指令初始化和运行指令均出现报警,查找手册,5#、10#报警,图示4:保持寄存器与modbus从站符号重叠。4)通过报警信息,很快找到此处的错误,不经意间用户自己埋下的,图示5:5)修改后,重新编译保存后下载,并在线监控,图示6:报警消除。6)打开sscom 5.1串口调试软件,根据功能码3,在通讯数据发送区编辑05 03 00 00 00 01,读取V存储区,VW0的数据一个字,先前先在PLC侧给VW0写入16#1234的数据,用于测试通讯交互,图示7:Sscom V5.1串口调试软件能够读取到s7-200 smart从站VW0的数据16#1234。功能码3,读取从站寄存器数据测试正常。7)读取单个/多个线圈(离散量输出点)状态。 功能 1 返回任意个数输出点(Q)的 ON/OFF 状态,图示8:使能Q0.0 = 1,用串口调试软件读取Q0.0的状态值为01,释放Q0.0 = 0,再次读取就是:05 01 01 00 00 50 B805:5#从站01:功能码101:读取Q区数据00:00:第0位的状态值50:CRC校验B8:CRC校验再次使能Q0.0~Q0.3这4个位,看串口调试软件显示:05 01 01 00 0F 10 BC0F:就是从站Q0.0 ~ Q0.3 = 1的状态值。8)功能码2:读取读取单个/多个触点(离散量输入点)状态。 功能 2 返回任意个数输入点(I)的 ON/OFF 状态。强制I0.0 = 1,看串口调试软件运行结果,图示9:取消I0.0强制,串口图示软件运行结果:05 02 01 00 A0 B8,再次使能I0.0 ~ I0.3,看运行结果:9)功能码06:写从站V区数据。串口调试软件写05 06 00 00 00 01的16进制数据到从站,图示10:从站PLC侧的到V1.0 = 1的结果。如果需要将V0.0 = 1,串口调试软件:05 06 00 00 01 00串口图示软件与s7-200 smart通讯是双向的,可以读也可以写,方便在modbus rtu及自由口通讯初级阶段时,对通讯规范及指令的认识非常有效,也可以减少没有必要的用户错误引起的困惑。

WWCWWC

2025-06-16 09:39:55 265 5 6

参与讨论
这样做,伺服电机会不会有问题

最新内容

4MPa是气缸的进气压力吗?气压与电机扭矩之间的关系,你应该去自己计算一下

大家好,我这边配置的是西门子1200 ,pn总线,工艺对象TO模式控制伺服电机做定位,要求是这样的,电机停在一个位置,然后旋转法兰会锁紧,因为旋转法兰旋紧的过程中,会给电机很大的一个力,电机受力过大会报警,我现在是这样做的,电机在定位位置的时候,在旋压法兰之前,我把电机使能断开,所以旋压过程中,即使电机受力,也不会报警,,然后旋压气缸打开后,我再给电机使能上,做定位控制电机出来,这样就能够避免电机因受力报警的一个问题,但是这样 如果多做几次这样的,会不会使得电机重复定位会不准的问题,谢谢大家,如果是你们,你们会怎么做呢

呆.

2025-06-15 11:24:15 347 15 4

参与讨论
西门子1500 PLC的信号读取错乱问题

最新内容

一般不会的,正常信号都是正常的

图1中实例块HV0110A是一个阀门的控制块,用于控制阀门的启停等,图2图3是一个连锁程序,使用的是INOUT的方式进行编写,这样就可以直接引用触发条件,用这些条件控制设备,最后如图4一样实例化连锁,在INOUT引脚关联实际的控制对象。 但是遇到一个问题,这些连锁在使用过程中,大约隔四五天某一个就会出一次问题,就比如阀门HV0110A明明没有打开,监视状态下开反馈为0、关反馈为1,但是监视连锁时发现开反馈为1、关反馈为0,导致逻辑执行错误。因此想问一下是不是这种连锁的编程方式本身存在这样的缺陷,还是其他方面的问题。 目前我自己检查过的方面有: 1,交叉引用,确定没有重复调用的情况; 2,修改扫描周期从50MS改到150MS(由于是过程控制,扫描周期可以设置的比较慢); 3,2的方式无效,于是将主程序从OB1中移到OB31中,并把优先级设高,保证没有被其它程序中断,循环实际设置到200MS,并将其它循环中断做了相移,保证不重叠; 4,如图5中发现与上位机通讯过载,于是更换了能承受更多负载的CPU;(由于是多台单站同时与PLC连接,因此通讯负载一直都设置在50%); 5,诊断中没有报错; 6,存储器占用也都低于40%; 7,测试程序的实际扫描时间约30MS。 如果是程序逻辑错误,应该会频繁出错;而且是所有连锁中随机某一个出一次问题。在此前我用同样一套程序在这家公司的另一个厂使用,目前也没有出过问题,最大的不同就是连锁的编写方式不一样(连锁的数据量也大很多),所以是这种方式存在缺陷,还是我设置的通讯负载50%是否太高,当程序到达一定数量后出现了过载?或是别的原因? 图中的截图都是仿真实验的例子

AMHJDCSXL

2025-06-15 10:04:23 136 5 0

参与讨论
怎么下载V-18

最新内容

官网快一点,百度网盘不花钱太慢了

怎么下载V-18

手机用户20241116771855

2025-06-14 11:33:02 315 11 3

参与讨论
F60044

最新内容

报警时刻与趋势图报警与趋势.pdf

矿用提升机两台6RA80 订货号:6RA8093-4KV62-0AA0 690V 1500A 。12脉波并联,到位停车不定时报F60044故障,复位可以恢复。51807由0.1修改为1,故障依旧。恳请大佬们指点

手机用户20200217249134

2025-06-14 09:53:42 221 7 3

参与讨论
精华
西门子软件大全网盘链接分享

最新内容

太棒了,感谢分享

网盘链接是永久链接,软件如有更新,会自动更新到对应网盘链接里TIA 博途 功能:编写查看西门子one系统及840DSL 4.5以上版本的PLC程序,以后是主流(还有自动化用的1500和1200系列PLC及触摸屏变频器调试等都集成在一起了)百度链接:https://pan.baidu.com/s/1yf8vnU9-8_LxjVEFZlsB5w?pwd=GXTT夸克链接:https://pan.quark.cn/s/20765f07c3b5STEP7 网盘链接:功能:编写查看西门子数控840系列系统的PLC程序(自动化300 400系列PLC程序)百度链接:https://pan.baidu.com/share/init?surl=0wXkxOc6pK53uV3jsY0E-w&pwd=gxtt夸克链接:https://pan.quark.cn/s/67cf5228af63840DSL toolbox 功能:toolbox包含基本程序和硬件信息等,840系列如果不是新机调试,安装一个840dsl***版就够了,里边基本包含了840D和840DSL全部版本硬件信息百度链接:https://pan.baidu.com/s/12LhXtc0VsaI4m7WQnUioBg提取码:gxtt夸克链接:https://pan.quark.cn/s/6d183a2ef44f博途toolbox 功能:略百度链接:https://pan.baidu.com/s/1DVfpxaXwyASPunM5x3aFRQ?pwd=gxtt夸克链接:https://pan.quark.cn/s/c74fd93cf91d840D系统toolbox功能:和840dsl一样,如果不是新机调试只装840dsl的***版就可以,不用安装840d的toolbox百度链接:https://pan.baidu.com/s/1pOlZ-6PUwJ2jEQxv9n1_JA提取码:gxtt828D toolbox 功能:硬件信息、PLC编程软件、AMM、diff等调试软件百度链接:https://pan.baidu.com/s/1bgt35Ee6kGdUqZ660MFJgA?pwd=gxtt夸克链接:https://pan.quark.cn/s/c0c8a56dc192808系统toolbox:百度链接:https://pan.baidu.com/s/194zJcEuyXFsZfexV1EfrSQ提取码:gxtt夸克链接:https://pan.quark.cn/s/bfa9401e783a802系统toolbox:百度链接:https://pan.baidu.com/s/137uozhfwlx_4CYbMkWw5Lw?pwd=GXTT夸克链接:https://pan.quark.cn/s/2d1a2a29f411Access MyMachine P2P 功能:具有远程控制和处理项目文本等功能,可进行报警文本编辑、计算机与数控系统间传输系统文件等操作,还可以备份恢复CF卡镜像文件百度链接:https://pan.baidu.com/s/1thhRsDeD6F6O-E_1p99KfQ?pwd=gxtt夸克链接:https://pan.quark.cn/s/6da91a332c69WinSCP功能:在电脑上可通过WinSCP访问系统CF卡,也可执行NCU系统服务命令,传送文件等操作百度链接:https://pan.baidu.com/s/1xZ274Cc3sCjJqYhi2fA1bA?pwd=GXTT夸克链接:https://pan.quark.cn/s/ca395fe5e3e3VNC-viewer 计算机上显示SINUMERIK Operate/HMI advanced 操作界面,即在电脑上显示PCU50/ IPC 或NCU内置的SINUMERIK Operate操作界面百度链接:https://pan.baidu.com/s/1ZDkCsG-CTatRkP67AVUFkw?pwd=GXTT夸克链接:https://pan.quark.cn/s/23afe17a1e64Operate Commissioning 功能:用于刀库配置,驱动调试等 替代start up tool,HMI advanced for PC软件百度链接:https://pan.baidu.com/s/1-EQvMhDY3W97TSNLRvUW2g?pwd=GXTT夸克链接:https://pan.quark.cn/s/314d22873fe0Operate for pc 功能:Operate的电脑版,有所有功能百度链接:https://pan.baidu.com/s/1UZugUZ2WmhytZr1tjDxwvw?pwd=GXTT夸克链接:https://pan.quark.cn/s/2f32c9c90d02 HMI_Advanced_PCPG功能:Operate的电脑版,有所有功能百度链接:https://pan.baidu.com/s/1cQo3SPNBcWCekZynv7ho5Q?pwd=gxtt 夸克链接:https://pan.quark.cn/s/ef17f6aa1104HMI PRO 功能:二次界面开发百度链接:https://pan.baidu.com/s/1yfTq8qcoF9EPdcXT7CyJTw?pwd=GXTT夸克链接:https://pan.quark.cn/s/d2b8cc66d2a7Create MyConfig Diff 功能:比较机床备份数据的不同,查看提取机床备份中的文件等百度链接:https://pan.baidu.com/s/1UZugUZ2WmhytZr1tjDxwvw?pwd=GXTT夸克链接:https://pan.quark.cn/s/ef63c3fdbf13start up tool 功能:旧版数控机床调试软件百度链接:https://pan.baidu.com/s/1MNZkjyHixzjjmKHbiP0chw提取码:gxtt夸克链接:https://pan.quark.cn/s/875bfeff1359emergency_bootsys_ncu 功能:ncu用U盘引导备份升级等的u盘系统百度链接:https://pan.baidu.com/s/1KOCIdK1ica4K3CBGU4G5aQ?pwd=GXTT夸克链接:https://pan.quark.cn/s/105831ead460sinutrain 840DSL模拟机功能:可以模拟NC不能模拟PLC百度链接:https://pan.baidu.com/s/1vYlxU10RdnyBebuOJyh1lg提取码:gxtt夸克链接:https://pan.quark.cn/s/7d185398ba1fsinutrain 西门子官方下载功能:可以模拟NC不能模拟PLC(***版 4.95)链接:https://new.siemens.com/global/en/markets/machinebuilding/machine-tools/cnc4you/sinutrain-uebersicht.htmls7 safe f-config功能:安全相关百度链接:https://pan.baidu.com/s/1SF6IZoS5pzbCgD6DujqQZA?pwd=gxtt提取码:gxtt夸克链接:https://pan.quark.cn/s/4c06db86e83aS7 Distributed Safety 功能:安全相关百度链接:https://pan.baidu.com/s/1XY2fUMcSBImtci1Cu4tIkw提取码:gxtt夸克链接:https://pan.quark.cn/s/4c06db86e83aSinucomARC功能:旧版查看arc备份文档的软件,已被diff所取代百度链接:https://pan.baidu.com/s/1HGLJq-vrPI4xGpIziCD71Q?pwd=gxtt提取码:gxtt夸克链接:https://pan.quark.cn/s/12cd55378ba3simocomu 功能:611U调试备份等百度链接:https://pan.baidu.com/s/1zKLrundTFfXtP7gcqcbi9w?pwd=gxtt提取码:gxttstarter 功能:变频器调试备份等百度链接:https://pan.baidu.com/s/1EVtgcLwkY11mD0jzfN5bcA提取码:gxtt夸克链接:https://pan.quark.cn/s/90cd49de9899winpcin 功能:232传输软件百度链接:提取码:gxtt夸克链接:https://pan.baidu.com/s/1VPLmOIEYwgUxPO43PnKVmg西门子其他软件:S7-200 and Smart百度链接:https://pan.baidu.com/s/1wvgVBB1ZAkB4Cj27HuGJgw提取码:gxtt夸克链接:https://pan.quark.cn/s/be9c20c3fb63西门子LOGO编程软件百度链接:https://pan.baidu.com/s/1G_jWXQBFplZDdt7ik7TBug提取码:gxtt夸克链接:https://pan.quark.cn/s/820e634d1c8aPC S7https://pan.baidu.com/s/1NQ6xJo5kKBaOtIY--Bqodg提取码:gxttWinCC_flexible百度链接:https://pan.baidu.com/s/1pR22SkeoLpMlUvoEsro1_w提取码:gxtt夸克链接:https://pan.quark.cn/s/18843000a9d0DriveMonitor DriveES百度链接:https://pan.baidu.com/s/1jMCM1vQ0gThXVZmHnPYCaA提取码:gxtt夸克链接:https://pan.quark.cn/s/f3c59194ee9a

共享天堂

2025-06-13 21:27:38 841 10 15

参与讨论
精华
循环顺序移动数值,如图循环时间99传给100,98传给99,97传给98------1传给2

最新内容

你这个应该会报错的,寻址错误,没有0号这个数据

在线等,有浮雕有什么好办法

手机用户20210803654627

2025-06-13 16:10:52 694 9 6

参与讨论
PLC无法在线监控

最新内容

有线连接,没有IP冲突,IP冲突的结果是PLC直接挂

最近在远程增加新需求,现场网络不稳定,频繁会丢帧,所以在线时候会经常性掉线,掉线后继续在线,又可以正常,过不了多久又丢帧掉线,如此反复,在多次操作后,直接就无法在线,但是可访问设备都没问题,就是无法在线,触摸屏仿真也直接挂掉,这是什么原因呢我分析了一下大概原因在线连接后会占用PLC连接资源,若不是手动点击离线,则连接资源不会释放,如此多次后连接资源被耗尽,导致无法在线,只有重置资源(重启PLC)是不是这样我不能确定

yrxb_w

2025-06-13 15:40:17 188 6 1

参与讨论
多套S7-1500H冗余系统之间怎么通讯

最新内容

在一和二里面选择的话,还是方案二好吧,你要是方案1,那第一套冗余系统得承载多少通讯,而且万一第一套冗余与上位机的网络通讯出现问题,那上位机与现场设备层的通讯不是都断了。

有个项目,有7套S7-1500H冗余系统,上位机软件自研。方案1:现在想其中1套冗余系统作为主控,与上位机通讯,,其余6套与主控冗余系统通讯,主控与上位机UDP协议方案2:所有的PLC都与上位机直接通讯,UDP协议有以下两个问题想请教一下:1、方案1与方案2,哪种比较合理,本人比较倾向方案2。2、如果采用方案1,6套冗余系统与主控的冗余系统之间采用哪种方式通讯,MODBUS TCP/TCP,还有其他方式吗?增加PN耦合器是否能实现多套冗余系统间的通讯。

lrppp

2025-06-12 09:59:32 177 6 0

参与讨论
如何扩展I/O模块

最新内容

这个高,成本就上去了,而且性价比不高

S7-1214C已达到8个I/O模块如何扩展

NJSJL

2025-06-11 10:58:01 497 16 4

参与讨论
这样也是双线圈啊

最新内容

标准的双线圈案例

这样也是双线圈啊

呆.

2025-06-10 17:45:45 374 13 2

参与讨论
求教 - 工业废水处理程序中遇到双线圈问题

最新内容

都是双线圈了 程序怎么能这么写

2025.06.15感谢各位的指点,这个问题已解决,谢谢大家啦!------------------------------------------------------------------------------------------------------------2025.06.08目前才开始学习PLC,在编写程序时遇到双线圈的问题一直无法解决,希望各位前辈能指点一下,多谢!工艺流程:先启动水泵前后水管的电磁阀门Q8.6,然后2秒后启动水泵Q0.0,此时处理后的废水会抽到1个缓冲池中,池中安装有3个仪表会检测PH, COD,氨氮值.上述动作完成后, PH, COD,氨氮值全部符合排放要求, 则再次依次启动Q8.6, Q0.0,持续工作约3个小时排放(过程中PH, COD,氨氮值会持续在线监控,其中任一项不达标时则停止Q0.0和Q8.6

手机用户20250519149533

2025-06-08 23:15:41 379 7 4

参与讨论
【SCL编程案例】SCL的医美:OOP、数据结构及数据库

最新内容

必须上点代码截图啊,

最近遇到一个有意思的编程业务,项目不大,但却有些东西值得说道说道。项目客户开发了一个实验室使用的设备,限于一些客观条件,客户选择了28个步进电机的协作方案,用一台1211的PLC和一块RS485通信板控制它们的动作和顺序(当我接手时硬件部分已经完成了,所以只能在此基础上继续完成控制部分了)。这28个步进电机都是采用Modbus RTU的总线控制,而这28个电机中又分为3个不同厂家的产品,各自有各自的通讯数据表,此外还有若干个温度传感器和压力传感器,也都是通过Modbus RTU和PLC通讯来传递数据。 由于执行一个Modbus RTU的通讯任务,需要经过几个扫描周期,而且不能有两条及以上Modbus的通讯任务同时执行(除非安装多个通讯模块,但是出于硬件成本和设备体积的考虑,客户并不太愿意增加),一个现实的问题就摆在眼前了。一个电机完成一个动作,需要PLC发送一条执行动作的报文给电机,然后发送若干个监测的报文来判断动作是否完成(或发生故障)。如果等一个电机完成动作之后再操作另一个电机,则设备的效率就太差了,因为有很多可以多个电机并行的动作。其次,为每种电机及其每个动作都编写一条Modbus通讯语句,程序的复杂度太高,增加调试和维护的难度。 由此而知,挑战就在于如何在只有一个通讯模块的条件下,实现多个Modbus RTU 电机的并行操作,并且整个程序需要尽可能的简洁且易读易维护。在此分享一下我如何满足客户既要有要的。 首先,由于存在28个电机,而这28个电机的动作基本是一致的(虽然具体实现有所差别),不外乎回原点、绝对定位、相对定位、速度运行、停止运动等这几个动作。自然而然的就想到了面向对象(OOP)的编程方法。为这些电机建立一个类,即一个功能块(FB),FB里面那些变量就是这个类的属性(如图1所示)。其中有一个特别的属性:Command。该属性用于触发这个类的方法,也就是电机需要执行的动作。然后就是编写这些动作的具体程序,用Case Command of…End_Case实现对方法的调用(图2)。最后,再建立这个FB的数组,用For语句循环调用。这样就等于是把28台电机当作一台电机来控制了,程序简明而有效。 其次,只有一条Modbus的调用实现多个电机的并行工作,就需要将每个电机的执行报文和监测报文独立开来。先将所有可以并行的执行报文依次发送到相应的电机,然后轮询地发送监测报文,直到电机的动作完成。那么一个循环队列就是一个非常合适的数据结构。 队列采用数组存放,队列里的每个元素就是一条Modbus的报文信息,包括从站站号、读写模式、数据地址、数据长度等等信息。用首尾两个指针(即数组的索引)来控制队列的进出。当有新的报文需要发送时,就把该报文的数据放入尾指针所指向的元素内,尾指针自增一,若超过数组上限则回到0,这样所有需要发送的报文就在队列中排队等待被执行。而Modbus执行语句则从队列首指针处调出需要发送的报文,每一条报文被调出后,首指针自增一,若超过数组上限则回到0开始,和尾指针一样。当首指针和尾指针相同时,则说明队列里面已没有任何待执行的通讯命令了。 电机类的FB在执行动作时,核心和最终输出就是把相应的Modbus执行参数发送到队列中排队等待执行。而每一条执行报文后又自动触发监测报文的发送。这样做又一个明显的好处,就是电机的动作和Modbus 的通讯完全分离开来,这个循环队列成为两者之间的纽带。在修改电机这部分的程序时,无需考虑和担心Modbus的调用部分,反之亦然。程序的控制逻辑简单明了,清晰易懂。在调试时,监视这个队列的内容就能分析程序的执行情况。 最后,对于不同设备、不同品牌电机,能否采用一种统一的方式来实现Modbus通讯呢?答案是肯定的,就是用数据库。建立一个DB块,存放如图3所示的两个数组就形成了一个简单的关系型数据库,两个数组就是两张表,之间依靠MessageID建立起一对多的关系。在此基础上,所有不同设备和品牌的产品在执行不同动作时的程序结构就可以统一起来,也就是选择数据库中的一条记录。调试程序的时候,只需要看数据库里的数据是否正确,选择的记录是否正确就可以了。哪怕客户将来更换设备或替代产品,也只需要改这个DB块内存放的数据,不会影响到FB中的内容。 总结来说,SCL的长处在于灵活、高效,容易实现较为复杂的控制逻辑。一个好的SCL程序不但要实现客户的需求,更需要一个好的颜值:简洁、易读、易维护、可复用,这才能突出SCL的优越性。而掌握OOP、数据结构和数据库等编程技巧,则是增加SCL程序颜值的有效手段。(这个项目使用PLC为6ES7-1211-1AE40-0XB0 V4.6,通信板 6ES7 241-1CH30-1XB0 V1.0,博途版本为V18。)

moyb

2025-06-08 10:56:33 585 9 3

参与讨论
S7-200 2台CPU224xp PLC如何通讯交换数据

最新内容

应该是没有设好plc站地址,两个plc通信站地址是不一样的,不能都是2了

我单位试样发送通过2台西门子S7-200 (CPU224 XP)之间通讯交换数据。由于有一台PLC坏了,我们们更换了一台新的相同型号的PLC,传输程序后发现这两台并未通讯建立并交换数据。请问哪位大能提供帮助S7-200之间硬件如何链接设置,程序需要怎么编写通讯数据?谢谢!

pyuan

2025-06-07 21:54:59 351 11 1

参与讨论

S7-200把输入量IW区所有位传送到寄存器VW里面,用于上送到上位机里面分解为位,减少通信量。但是看V区寄存器的数据结构,从字节来说,是高低位互换的,怎么写程序,才能把I0.0传送到VW0.0中也就是IW区数据,怎么才能保证一一对应的传送到VW区中,然后在上位机解析为开关量。这样不读开关量,直接读模拟量,就可以一串报文通信到上位机了。S7-200程序是这样的S7-200的VW区结构是如下这种

股海浪子

2025-06-07 15:54:55 162 5 1

参与讨论
【SCL编程案例】 1500环境下用SCL语言开发SECS系统软件

最新内容

就是很基础的知识点集锦

论文_SCL在SECS通讯中的应用.doc

yang9188

2025-06-07 15:11:56 414 9 2

参与讨论
精华
【SCL编程案例】如何实现FB中的一次性初始化

最新内容

感谢分享!贴子内容丰富、实用性强,能够为西门子SCL编程的工程师提供有价值的参考。在代码展示和内容扩展方面仍有提升空间,整体质量较高,值得推荐。

提到初始化操作,想必大家都不陌生,基本上都能信手拈来,如使用FirstScan,OB100等,现在说一说,在FB内部进行一次性初始化操作的实现。所谓一次性初始化,也就是说在调用FB时,初始化操作有且仅有一次,直到CPU下一次再由STOP——RUN。弄了个简单的例子来作为演示DEMO,在下面的FB_OneShotInitialise中,对两个输出参数unit_1和unit_2进行初始化赋值操作,将它们的值分别给定为1和2,然后在后面,继续执行其它逻辑。实现细节,是通过借助一个布尔类型的静态变量statOneShotInitialise,在接口定义时将其默认值设置为TRUE,在FB中对需要进行初始化的变量初始化完毕后,令statOneShotInitialise := FALSE;这样,我们在FB内部就有了一个One-Shot。在resetCmd为FALSE,PLC由STOP——RUN时,FB的IDB中的值显示出完成了对输出参数的初始化操作。这样在FB内部即可以完成一次性的初始化操作,既不像OB100那样针对的是全局性的初始化操作,也不像使用FirstScan那样需要额外关注FB的调用执行时机问题,免得FirstScan不起作用。雕虫小技,让方家见笑了。

'Razor

2025-06-06 22:32:44 2359 17 9

参与讨论
200 SMART V3 Bug UDT自动分配地址会有空字节

最新内容

你自己搞错了,没有弄明白西门子plc 存储规则

看下面的例子:J1GetTable.member_1如果去掉“保留”仍然被分配到 vb8006,那vb8005就是一个无法使用的字节。在使用时一定要注意。我认为这是一个bug。因为这不仅会造成一定的空间浪费,还会引发一定的错误。希望官方能够改进。

手机用户20240428489223

2025-06-06 17:13:36 233 5 1

参与讨论
博图19安装没出错,打开软件,添加PLC设备就卡住了

最新内容

兼容性列表,西家必备

博图19安装没出错,打开软件,添加PLC设备就卡住了,这是什么原因。我电脑系统是win11的。

碎风的我

2025-06-05 16:10:24 311 7 2

参与讨论
1500PLC跟威纶通触摸屏方式

最新内容

直接下载就好了

博图V18,1500PLC跟威纶通触摸屏通讯,变量1700多个,采用绝对地址通讯还是标签通讯呢?是不是要求CPU完全权限,完全权限的情况下,就不能阻止修改上传程序了吧?PLC改程序,DB块没改是不是还要重新导入了啊?现在用的博图V18,后面会换成V20的,不知道博图V20能不能跟威纶通通讯,导入标签时没看到V20版本?

耳热

2025-06-05 09:59:42 391 10 1

参与讨论
【SCL编程案例】先入先出程序块

最新内容

最近在做烘箱在制品的加热就是利用这种逻辑来做的

分享一个先入先出的程序块,主要应用于多工位预约生产,哪个工位先满足了启动条件,会被记忆在队列中,队列最前边的会被输出,最前端的输出后,后边的一次前进一位。如果处于队列中的被取消,后边的一次前进一位。硬件配置是1512,博图V17编辑;主要的变量如下;使用情况如下,工位生产完成后,后边的前进一位;如果有工位被取消,后边的前进一位SCL编程案例征集活动示例程序_先入先出队列.doc

rain_why

2025-06-04 09:52:19 417 5 6

参与讨论
86篇主题

热门标签

相关推荐

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。