西门子电源6ES7307-1BA01-0AA0现货供应

西门子电源6ES7307-1BA01-0AA0现货供应

发布商家
浔之漫智控技术-西门子PLC代理商
联系人
聂航(先生)
电话
15221406036
手机
15221406036
微信
15221406036
价格
¥666.00/件

西门子电源6ES7307-1BA01-0AA0现货供应

在工业生产中,人们常常面临着数据采集与管理。作为工厂自动化的三大支柱可编程控制器PLC(Programmable Logic Controller),由于其安全可靠,广泛的用于数据采集与控制。生产过程中,要监视PLC内部的数据与运行状况,选用市场上的人机界面组态软件,虽然功能丰富,但大都价格昂贵,在一些中小规模的生产场合,人们希望能自己用**语言开发一个简易实用的通信程序。使用Visual Basic 6.0,开发串行通信程序时,有两种方法,一种是用bbbbbbs API函数,另一种是用VB支持的通信控件 MSCOMM。以下介绍使用通信控件方式实现通讯

1.硬件

采用SC-09编程电缆,连接PC串口与PLC编程口实现通讯。

2.PLC编程口的通信协议简介


通信格式:

波特率9600,偶校验,8位数据位,一位停止位。 具体请参考有关资料,以下举例说明其通讯格式

1)、DEVICE READ(读出软设备状态值)

计算机向PLC发送:


3.具体程序说明

MSComm控件简介用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的**通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。

数据读与写采用函数bbbbb和output

(1)窗口加载程序
Private Sub bbbb_Load()
MSComm1.CommPort = 1 ‘选择COM1口
MSComm1.Settings = "9600,e,7,1"
If mscomm1.portopen=false then mscomm1.portopen=true
End Sub

(2)数据读取子程序:

Public Function GetData(ByVal StartAddress As bbbbbb, ByVal GetBytes As Integer, ByVal Hex_Bytes As bbbbbb) As bbbbbb
MSComm1.bbbbbLen = GetBytes * 2 + 4
MSComm1.Output = STX + CMD_Read + StartAddress + Hex_Bytes + ETX + GetSumChk(CMD_Read + StartAddress + Hex_Bytes + ETX)
‘传送数据组成:起始符+命令+首地址+数据位+结束符+和检验码
GetData = MSComm1.bbbbb
MSComm1.InBufferCount = 0
MSComm1.bbbbbLen = 0
End Function

很多用户谈“干扰”色变,觉得干扰既看不到也摸不着,排除干扰引起的故障也毫无头绪。的确,由不同干扰引起的故障现象多种多样,有通信不稳定掉站的,有模块读数不准确的,也有烧毁模块的……下面咱们来看看这个用户碰到了什么奇怪现象。
前两天听一个用户抱怨S7-300 CPU的数据丢失,但重新上电后CPU又可以运行,不得其解。与用户沟通后,可以判定丢失的只是CPU的过程数据,而存储于MMC卡中的CPU程序并没有丢失,否则重新上电后CPU是不能运行的。这样的现象大部分是由于CPU受到干扰造成的,CPU进入故障模式,所有的LED灯全闪,所有通信中断,不控制输出信号,形象地说就是CPU死机了,像PC的蓝屏一样,这也是一种保护模式,防止设备误动作而造成不必要的损失。这时CPU的内部数据丢失,再次上电后(可能需要一段释放时间),MMC中存储的程序复制到CPU的工作存储器后CPU运行,但是所有的过程数据被初始化,诊断缓冲区的数据保持,过程分析应该是这样的。

什么样的情况会造成CPU进入故障模式呢?首先需要了解一下CPU内部的逻辑地接线,如图1所示,

缺省的情况下,PLC的逻辑地与供电系统M端以及PE相通,在接地良好且有等电位连接的情况下,各个分散的设备之间电位相同,便于互连。但是如果接地不好,例如共模干扰或其他干扰通过地线传导,这样干扰将会影响到PLC的逻辑地的点位,使之不能提供一个参考点位,造成CPU数据的混乱,从而使CPU进入故障模式。这种情况下,将PE与PLC的逻辑地分开及所说的浮地(CPU31X不能分开),将会避免干扰进入CPU的数据总线,但是在多个PLC连接时要注意之间的点位差是否在允许的范围内。

另外一种情况也需要注意,例如24V的电源不但给CPU供电,还给一些中间继电器供电,一些情况下,线圈在断开后释放能量,在电源回路上产生的高电压将影响到CPU的逻辑地,从图1种可以看到,高电压干扰直接影响到逻辑地,即使将PE与PLC的逻辑地分开也没有多少作用,因为与PE没有关系,有没有干扰可以使用示波器直接连接PLC的电源侧进行测量,如果有干扰,可以将CPU的电源与继电器控制回路分开,也可以使用二极管作为释放高电压,在西门子的手册可以找到这些资料,图2为使用二极管和齐纳二极管连接的释放回路,这些保护回路是对触点的保护,使用齐纳二极管也可以起到钳制电压的作用。

希望大家通过这个故事不仅可以解决与此相同故障,还能够掌握一些解决干扰的问题的思路和方法

通电后,西门子S7-400 CPU 或 CPU 318-2 开始执行用户程序之前,启动程序已开始工作。在启动程序中,用户可以对循环程序通过编程启动 OB 来进行相应地定义预设置。

如下有三种启动方式:

启动模式描述

启动(暖启动)

程序处理重新启动,数据继续保持。

冷启动

当前数据丢失,程序处理以初始值再次启动。

热启动

一旦供电恢复,程序从断电时的值开始继续工作。


在操作模式“STARTUP”中:

启动(暖启动):


图 01

 在启动(暖启动)中, 程序处理以“基本设置”内系统数据和用户地址范围为程序启动点来重启。

如果系统不要求完全复位,那么启动(暖启动)一直是可行的。在如下情况发生后,只有启动(暖启动)可行:

启动(暖启动)的操作命令:

用户可以触发手动启动(暖启动):

在 POWER ON 时,下面的状态会触发自动启动(暖启动):

冷启动:


图 02

冷启动的操作命令:

热启动:


图 03

在 RUN 状态下电源中断后再次供电,S7-400 CPU 通过初始化路径然后自动执行热启动。重新热启动后,用户程序在中断点继续运行 (定时器,计数器,指示器不被重新设置,当前数值保存在 DB 块中)。在断电前未执行的用户程序被称为剩余循环程序。剩余循环程序同时包括时间和报警控制程序部分。 

原则上来说,如果用户程序在 STOP 状态下没有改变 (例如装载一个修改过的块) 或者因为某些原因而不需要进行启动 (暖启动),那么,热启动是允许的。

热启动的操作命令:

如果相关参数已设定于 CPU 中,并且是如下原因造成 STOP, 那么手动热启动是可行的:

用户可以触发热启动:

自动热启动可在 POWER ON 状态下被触发,如果:


人气
63
发布时间
2023-04-27 12:32
所属行业
PLC
编号
31518327
我公司的其他供应信息
相关西门子电源产品
拨打电话
微信咨询
请卖家联系我