课程中心
HOME
课程中心
正文内容
plc编程软件sm 西门子PLC利用自由口实现通讯,配合中断效果好!图文实例讲解!
发布时间 : 2024-10-13
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子PLC利用自由口实现通讯,配合中断效果好!图文实例讲解!

以前我们讲过关于自由口通讯的实例,今天我们讲一下自由口通讯配合中断的实例。

在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间。那么这个时候对于PLC来说通讯就是最重要的,所以我们需要打断PLC的正常功能,优先处理通讯,这就需要通讯中断。

实例:2台S7-200 SMART CPU(端口0)采用自由口通信方式实现相互通信

(本文仅为展示自由口通讯和中断,如果想要实现这两个PLC的通讯其实最好是使用向导进行以太网通讯,有机会我们也会进行讲解!)

通信任务:CPU1 每秒触发一次 XMT 指令将 CPU 的实时时钟发送到 CPU2;CPU2 接收到 CPU1 发送的信息后立即将 CPU2 的实时时钟回复到 CPU1。

接线:每个 S7-200 SMART CPU 都提供一个以太网端口和一个 RS485 端口(端口0),标准型 CPU 额外支持 SB CM01 信号板(端口1),信号板可通过 STEP 7-Micro/WIN SMART 软件组态为 RS232 通信端口或 RS485 通信端口。

CPU 通信端口引脚分配

1、CPU1 编程

1.1、CPU1 主程序编程如图 所示:

CPU1主程序

程序讲解:

1. 设置 SMB30 = 2#00001001 (自由口通信,波特率 9600 bps,8 位数据位,无校验)。

2. 设置 SMB87 = 2#10010100,使用空闲线检测为信息接收的起始条件,使用字符间定时器为信息接收的结束条件。

3. 设置空闲线定时器 SMW90 = 5 ms,字符间定时器 SMW92 = 5 ms,允许最大接收字符个数 SMB94 = 10。

4. 连接中断子程序 INT_0 到通信端口 0 发送完成事件,并启用中断。

5. 每秒钟读取一次 CPU 的实时时钟,并将发送缓冲区长度设置为 8 个字符。

6. 执行 XMT 指令之前设置 SM87.7 = 0,同时执行 RCV 指令,终止消息接收。

7. 每秒钟执行一次 XMT 指令将 CPU 的实时时钟发送出去。

1.2、 CPU1 发送完成中断子程序 INT_0 编程

中断子程序INT_0用于恢复 SMB87 的设置(SM87.7 = 1),并执行 RCV 指令开始接收 CPU2的应答信息。程序如图4. 所示:

CPU1 中断子程序 INT_0

2、CPU2 编程

2.1、CPU2 主程序编程如图所示:

CPU2主程序

1. 设置 SMB30 = 2#00001001 (自由口通信,波特率 9600 bps,8 位数据位,无校验)。

2. 设置 SMB87 = 2#10010100,使用空闲线检测为信息接收的起始条件,使用字符间定时器为信息接收的结束条件。

3. 设置空闲线定时器 SMW90 = 5 ms,字符间定时器 SMW92 = 5 ms,允许最大接收字符个数 SMB94 = 10。

4. 连接中断子程序 INT_0 到通信端口 0 接收完成事件,中断子程序 INT_1 到通信端口 0 发送完成事件,并启用中断。

5. 使用 SM0.1 调用 RCV 指令地执行。

2.2、 CPU2 接收完成中断子程序 INT_0 编程

中断子程序INT_0用于读取 CPU 实时时钟,并调用 XMT 指令将实时时钟信息发送出去。程序如图所示。

CPU2 接收完成中断子程序 INT_0

2.3、 CPU2 发送完成中断子程序 INT_1 编程

中断子程序 INT_1 用于执行 RCV 指令,并开始新的信息接收任务。程序如图 7.所示。

CPU2 发送完成中断子程序 INT_0

「技成周报5期」西门子系列常见问题解答

西门子系列1200PLC常见问题

1、西门子1200PLC请教一下怎样将连续的E­_tdta0~E­_tdta100传送到DE­_DT[0]~DE­_DT[100]?

答:MOVE_BLK传送的是数据的起始地址和数据长度,MOVE_BLK_VARIANT传送的是指针,但貌似实现的功能一样,这两个地址可以实现。

2、S7-1200作为智能IO设备和CP343-1的 Profinet 通信(CP343-1做控制器)如何设置?

答:参考一下链接,上面有很详细的说明哦!(关注SX “S7-1200”获取链接!)

3、在TIA portal 中进行step7 的项目移植过程中,出现移植错误,提示“安装的step7版本不适用,请安装step7最新版本”,请问如何解决,step7 用的是V5.5,但是step7与TIA分别安装在两台电脑上。

答:你需要把这两个软件同时安装在一个电脑上才可以移植哦!

4、安装博途V15后 打开“帮助”提示文字乱码,如何解决?

答:电脑安装的IE浏览器版本过低 需要安装Microsoft Internet Explorer 11以及最高最新的版本即可。

西门子系列200samrtPLC常见问题

5、西门子200samrt高速计数器脉冲数如何转换成速度值?

答:西门子200samrt高速计数器脉冲转换速度必须要知道它的当量,或者角度,没有参考点不能直接转换的。

6、西门子200samrt程序运行正常但是stop灯亮黄闪是什么原因引起的?

答:RUN灯正常,而STOP闪烁,这种指示一般都是说有I/O点被强制。可以看一下PLC信息里的信息是否有被强制。

7、如果西门子200samrt保存的文件打不开或者文件格式不对,下载下来的文件也打不开,如何解决?

答:很简单,把200samrt文件后缀名格式改为smart即可完成打开。

8、西门子S7-200 SMART中如何组态PID功能?

答:在Micro/WIN SMART中的工具菜单中选择PID向导,定义需要配置的PID回路号,为回路组态命名,设定PID回路参数,设置PID参数,设定回路过程变量,设定输入回路输出选项,设定PID输出选项,设定回路报警选项,定义向导所生成的PID初始化子程序和中断程序名及手/自动模式,指定PID运算数据存储区,生成PID子程序、中断程序及符号表等,配置完PID向导,需要在程序中调用向导生成的PID子程序,实际运行并调试PID参数。

9、PID向导生成的程序为何不执行?

答:必须保证用SM0.0无条件调用PID0_CTRL程序,在程序的其它部分不要再使用SMB34定时中断,也不要对SMB34赋值。

10、如何判断电阻阻值大小?

答:用万用表测量电阻档位来测量,这个方法是最常用的方法。

11、西门子200samrt本身自带的485口做从站, 信号板也做MODBUS从站,可以实现吗?

答:可以,前提从站站号必须对应,从站只能端口0,不能端口1,主站可以端口0也可以端口1。

12、定时器的指令输出是一个脉冲还是持续输出的 ?

答:一直接通的,只有给信号就持续输出。

13、西门子200smart编程软件无法启动提示s7epaapi.dll丢失

答:安装软件时,弹出的黑色窗口时你可能直接退出来了。所以驱动文件没有安装。也可能之前安装的s7软件卸载了,没有卸载干净造成的。估计要重新装系统,再安装smart软件了

14、西门子200samrt符号表符号写完之后我想修改符号,修改完之后在程序中触点符号变成绿色波浪线如何解决?

答:你修改完符号以后,把底部出现绿色波浪线的触点符号重新填写一下就好了,或者点击触点下方选择找到你修改的符号名称选择即可。

15、西门子200SMART用于流量计通讯怎么读取数据。是要先发送给流量计命令,然后再接收数据吗?

答:Modbus485串口通讯读流量计信号,确实是先发送请求,再接收数据,就是通过一个块把信号读进PLC而已。这个块在读取信号的时候会自动先发送请求。

16、在win10系统上安装完200samrt V2.4,点击打开时候出现“由于找不到S7OTBXDX.DLL”无法继续执行代码。怎么解决?

答:S7OTBXDX.DLL文件,是由于你的系统组件缺失导致的,SMART软件在系统注册过程中无法完成注册,你可以网上搜索相应的DLL文件(对应你的系统),放到系统文件夹下C:/WINDOWS/SYSTEM32(64位为SYSWOW64)

西门子系列wincc问题

17、安装wincc7.3时出现SQL 2005安装程序不能完成安装,如何解决?

答:在安装wincc软件之前,必须先安装消息队列,否则安装WINCC软件时不能安装成功。第一步 打开“控制面板”后,选择“添加或删除程序”进入下一步。第二步 选择“添加/删除 Windows ”组件,进入下一步。第三步 出现下列图示时,向下翻,查找消息队列选项,进入下一步。第四步 勾选“消息队列”,选择下一步安装安装完成后一定重启电脑,否则无法识别消息队列安装。通常是SQL2005安装在这台电脑过,没有卸载干净,可能残留了注册表,只能想办法先把SQL2005注册表删除掉再重新安装。

西门子系列300PLC常见问题

18、西门子300PLC硬件诊断“插入的模块和组态的模块不完全相同,”应如何处理?

答:检查组态型号跟实物模块型号是否一致,硬件订货号要和硬件配置里的一样。

19、SM321,SM322,SM331,ET200M是什么扩展模块?

答:SM321是数字量输入模块,SM322是数字量输出模块,SM331模拟量输入模块,ET200M是接口模块

20、PLC SIM仿真在下载程序的时候显示不能建立到目标模块的连接,如何解决?

答:1.设置的计算机与PLC的通信的对象不是PLCSIM,而是适配器或CP 5611等通信用的硬件。

2.PLC没有以太网接口,计算机与PLC的通信协议设置为基于以太网通信的PLCSIM(ISO)、PLCSIM(TCP/IP)等。

3.PLC没有DP接口,计算机与PLC的通信协议设置为PLCSIM (PROFIBIS)。

S7-300/400的CPU都有MPI接口,可以优先考虑将计算机与PLC的通信协议设置为PLCSIM(MPI)。但是有的接口需要用组态来确定是MPI还是DP接口。如果程序包含系统数据块 (SDB, System Data Block),请验证 CPU 是否处于 STOP 模式。对于真正 CPU,仅当 CPU 处于 STOP 模式时才能下载 SDB。

21、西门子315-2 DP最多可以扩展多少个扩展机架?

答:可以扩展4个机架,最多也就扩展4个机架。

22、我把SFB12下载到315-2DP/PN它怎么会变成STL语言了

答:打开300编程软件点击菜单栏打开视图会有LAD STL FBD,选择你要转换的即可,梯形图是LAD。

西门子系列200PLC常见问题

23、西门子200PLC编程软件可以装在win10系统上吗?

答:不可以装win10上哦!只能装在win7或者XP系统上,可以在win10系统下装一个虚拟机,虚拟机装win7系统即可。

24、win7系统西门子200PLC编程软件的帮助文件没有打不开,如何处理?

答:出现这种情况一般都是在win7系统上,主要是缺少补丁,去网络上载个补丁就可以了,也可以在以下链接下载https: bbs.jcpeixun.com/thread-160756-1-1.html即可。

25、西门子s7-200plc高速计数器的时钟是编码器的输出脉冲信号吗?

答:是的,高速计数器的时钟是编码器的输出脉冲信号

SIMATIC WinCC flexible问题

26、安装西门子SIMATIC WinCC flexible触摸屏软件时报无法启动服务“almservice”如何解决?

答:右键我的电脑-->管理--->服务和应用程序--->服务,找到名称是:Automation License Manager Service 的服务,然后手动启动选择自动即可。(来源:技成辅导员-徐陈爽,未经允许不得转载,盗取必究 )

欢迎评论区留言并转发,下期精彩内容敬请关注@技成电工课堂

⇩领取资料

相关问答

西门子S7-200SMART如何定义、编辑和选择符号?

你的问题,定义和编辑符号是PLC编程中都具备的功能;而这个选择符号,就可以理解为用符号地址来进行编程,符号是你自己定义的话,用符号编程在点数比较多的项目...来...

SM401在三菱PLC程序中的作用?

就是三菱plc中的一个特殊继电器,它的功能是常off。就是它永远为断开的状态,常用于程式中格掉一段或一行程序时。还可以使用它的b接点来达到常on的状态。它可以...

西门子200plc编写模拟量程序时指令sm0.0是什么意思?

SM0.0是Always_On即常开的意思,就是一直保持导通。因为200不能直接连接输出,故需要在前连接SM0.0。SM0.0是Always_On即常开的意思,就是一直保持导通。因为200...

编程PLC时,X.Y.M.T.C.S各代表的是什么?

按照一般PLC的规则理解,以上标志均出现在位操作指令中:X:输入接点,有的PLC用"I"标志;Y:输出接点,也可指输出线圈,有的PLC用"Q"标志;M:内部继电...

kokapp(中国)官方网站·IOS/APP下载/APP_微思

💘kokapp💦支持:64/128bit🐇是一款基于纯矢量的全类型图形图表设计软件,亿图信息图软件Mac版是国产软件中仅有的可以媲美Visio的软件。用亿图可以很方便的创建流...

【西门子plcs7-200中I、Q、M、SM、T、C、V、S、L分别指什么?...

[最佳回答]输入继电器I输出继电器Q通用辅助继电器M特殊继电器SM变量存储器V局部变量存储器L顺序控制继电器S定时器T计数器C模拟量输入映像寄存器AI模拟量输出...

plc中0.5秒怎么表示?

在PLC程序中,时间是以毫秒为单位进行计算的。在这种情况下,0.5秒可以表示为500毫秒或0.5*1000=500毫秒。PLC使用定时器来测量时间,并且可以将其设置为在特定...

西门子plc,在加模拟量模块?

西门子PLC可以通过添加模拟量模块来实现对模拟量信号的采集和控制。添加模拟量模块需要遵循以下步骤:1.确认PLC型号和相应的模拟量模块型号,以确保模块与PLC...

plc有哪些软元件用于编程?

有:1.输入继电器(x)2.输出继电器(Y)3.辅助继电器(M)在PLC的编程语言中,涉及X、Y、M、S、T、C等多种PLC内部的编程元件,这些元件并不表示实际的物理器件...10...

用PLC编程,一个动作的手动自动该怎么写?

如果是以上情况的话,其实也简单,PLC的非保持寄存器在断电时都会自动归0,利用这一特性写一段指令,当上电时即判定当前为停机状态,并自动复位设备。还有一个...

 justin chatwin  共青团十六大 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部