很多人想要的博途PLC通讯控制变频器,PN方式,赶快收藏吧
原创不易,请勿抄袭!
很多人看到我用SMART控制变频器,就让我再写一篇关于博途控制变频器的文章,那么这篇文章来了,其实西门子网站的内容还是很丰富的,这篇文章同样也借鉴了应用案例。
使用的电气元件有:
1 博途S1200PLC。2 电源模块。3 西门子变频器S120。4 交换机。5 编程电脑(带博途软件和调试变频器软件STATER,找不到软件的可以到我以前的文章里面找链接,授权去网上下)
编程思路;其实西门子PLC通讯控制西门子变频器是非常简单的,共有三种方式;
第一种方式是外部输入控制,适合所有变频器和PLC。
第二种方式是PROFIBUS控制方式,适合带DP的变频器。
第三种方式是现在流行的方式;PROFINET(PN)控制方式。
第一种我以前的文章里面写过。第二种和第三种只是连线方式和设置不同,其他相同,我们今天主要说第三种方式,即:PROFINET控制变频器。
我们需要先将PLC和变频器通过以太网的方式连接到一起,然后将PLC程序里面所需的信息配置好,变频器可以理解成一个驱动,将变频器硬件驱动从库里拉到网络视图里,然后配置好连接,IP地址以及通讯报文的地址。
通讯报文是整个环节里最重要的一点(与PROFIBUS一样),PLC侧需要填写读写地址,读写之后程序里按照该地址变成即可。而变频器侧需要用STATER软件打开后定义报文内容,即PLC读写的是什么数据。配置好以后就可以通过报文控制输出或者读取状态了,非常简单。
大家懂了吧,那好,这篇课程就结束了吧!
送你们一张图片调节气氛,哈哈哈!白天还得上班,晚上还得熬夜写技术,还得给你们截图,生活压力太大了,开个玩笑穷开心一下,有钱的土豪可以赞赏啊!我儿子用尿不湿的时候我会想起你们的!
不开玩笑了,进入正题。
一硬件配置;
首先打开软件,选择好PLC后进入网络视图,在右侧的库文件里找到PROFINET-DRIVERS-Siemens AG-SINAMICS找到合适的驱动
鼠标左键点击PR0FINET 10网络,在中部的网络视阁窗口中将显示刚才新建的PLC站 。
“SIMATIC 1200 station_l”和IO设备“GSD device1”。点击网络视图中的 S7-1200 PLC,在下面的属性窗口中,修改其Device Name为“plcl200”,同样,修改S120
的 Device Name 为 “sl20pn”
分配IP地址
配置完成后下载到PLC里,然后组态变频器的报文。
添加报文
组态完成后可以不着急下载,等待第三步一起。
二通过STATER配置报文内容
打开STATER软件,上载后在线连接,记得静态识别和动态识别。然后配置报文
连接
报文格式
然后执行COPY RAM TO ROM,离线断线就可以了,这里需要学习的是西门子有很多报文格式,需要的时候去查手册对应哪种合适的报文,一般常见的就一辆种,即控制启停和速度。
三编写程序,这里我们通过对配置的写入地址赋值进行控制,读取地址是状态反馈。
程序说明:
通过PN总线控制电机起停及速度,S7-1200通过PR0FINET周期性通讯方式将控制字1 (STW1)和主设定值(NS0LL_A)发送至变频器。
(1) 控制字中BitO做电机的起、停控制。
(2) 主设定值为速度设定值,频率设定值和实际值要经过标准化使得4000H(十六进制) 对应于100%,发送的最高频率(最大值)为7FFFH(200%)。可
以在P2000中修改参考频 率(缺省值为50Hz或者电机的同步转速)。
(3) 在S7-1200中需调用“DPRD_DAT”和“DPWR_DAT”系统功能块,“DPRD_DAT”用于读取驱动装置的过程数据。“DPWR_DAT”用于写入驱动装置的过程数据。
学会了吗?学会的同志请打个1,没学会的请再看一遍。
每篇文章都倾注了我的心血,请大家支持原创!喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
使用OB8x诊断SIMATIC PLC(PN)
SIMATIC S7-300和S7-400使用广泛,应用在各行各业的工业环境中。在调试和使用PLC和相关网络过程中,发生一些PLC或者网络故障是不可避免的。故障出现后,用户可能无法从上位机获取相关诊断信息,只有通过连接PG到PLC上,使用Step7在线的方式或者查看CPU的诊断信息来分析和判断故障原因,根据所提示的内容来解决现场问题。
但是通过上述方法,由于获取故障信息缓慢,从而不能快速有效的解决现场问题。西门子对于PLC和相关网络提供多种多样的诊断方式,包括使用故障组织块例如OB82,OB86,诊断功能块,例如SFC51,SFC13,SFB52等,使用RSE/WinCC/WinCC flexible方式,使用Web服务(集成在新的PN CPU中),使用已有的诊断方式,例如FB126,或者使用Maintenance station(维护站)等方式。其中使用 OB8x ( 359 KB ) 是最简单最基本的获取基本故障信息的方法,同时也可以配合诊断功能块进行详细故障的诊断。
SIMATIC PLC判断发生故障,会立即调用相应的故障组织块OB,如果PLC中没有加入相应的组织块PLC可能会停机,停机的目的就是保证生产过程处于安全状态。如果使用OB8x而没有编写任何诊断程序在用户程序中,PLC虽然不会因为发生故障而停机,但是这种方式并不可取。不能让产生故障的PLC仍无条件的运行,因为这种方式可能导致生产处于某种危险的状态。例如,当DO模块发生断线故障,相关的控制设备因此停止,但是DO可能并没有获取故障信息而停止输出,如果维护人员检查故障并做好接线后,DO会立刻输出控制信号导致相应的控制设备动作,这可能会造成现场人员或者设备的伤害。最好的方式之一就是通过OB8x获取故障信息,然后通过编程连锁该输出信号,使其输出为“0”,当维修完毕后,通过用户确认后(例如上位机界面中的操作按钮),然后再输出信号“1”。所以使用OB8x就是快速的获取故障信息,然后根据此类故障进行条件式的监视和处理,这样才是有效使用PLC的方法。
本文介绍如何使用OB82,OB83,以及OB86来判断现场故障,并作出相应的处理。OB82为诊断中断组织块,相关的诊断报警例如“DO模板的DO信号断线”会使PLC调用OB82;OB83为插拔中断组织块,当插拔机架上的模块时PLC会调用OB83;OB86为机架故障组织块,当扩展机架丢失,分布式IO掉站时,PLC会调用OB86。各个组织块的详细信息可以参看下面介绍。
上述组织块都具有20个字节的临时变量,对于用户在编程时不能占用和修改这些临时变量。这些临时变量会由PLC在调用相应的故障组织块时自动生成,所以这些临时变量为只读属性,用户只需要读取这些临时变量的数值或者状态来判断哪里出现什么样的故障。每一个故障组织块的临时变量随诊断功能的不同而不同,另外还可以根据相应故障组织块的临时变量OB8x_Date_Time得到故障出现的时间日期。该时间虽然是调用相关OB8x的时间,但是也可以参考故障出现的大致时间。
1, OB82诊断
OB82是诊断中断组织块。
PLC的模板状态从严重程度上可以分为两类,一类表示“完好”,一类表示“故障”。然而对于PROFINET模板其状态具有另外一种中间状态,该状态处于“完好”和“故障”之间,是一种临界状态,称为“维护”,利用该状态用户可以尽早的发现故障,尽快维护现场设备,可以有效的防止由于故障导致生产的停顿。
使用该组织块诊断“故障”。首先要求PLC的模板具有诊断能力,然后通过组态使能相关诊断(Diagnostics:)去检测一个故障事件,例如“断线”(wire break),“短路”(short circuit to M)等,参考图1 ET200S DO模块的参数设置。相关的诊断“故障”的方法参考上述连接文档。
使用该组织块诊断“维护”。对于PROFINET的接口模板,例如ET200S IM151-3 PN HF接口模块支持检测网络错误,包括同步丢失,端口连接状态,光纤信号质量等。这些事件就是维护中断事件,同样也需要通过组态使能检测网络错误参考图2,当这些事件出现后,接口模板的MAINT/FO灯亮。如果需要CPU获取这些维护信息,需要在CPU的PN-IO属性中设置使能OB82,参考图3 使能OB82/I/O fault task。
图1 ET200S DO模块的参数设置
图2 使能检测ET200S接口模块的网络错误
图3 使能OB82/I/O fault task
当它检测到维护事件时,它输出一个诊断中断请求给CPU(到来和离去事件)。于是操作系统调用OB82。如果没有下载OB82到PLC中,那么PLC会停机。
OB82 的局部变量中除了包含故障模块的逻辑地址OB82_MDL_ADDR,还包含故障模板四个BYTE 的诊断数据LB8,OB82_MDL_TYPE,LB10,LB11。具体信息可以查看Step7在线帮助OB82。
下面举一个维护的例子,组态参考图4 PLC硬件组态。例如ET200S FO接收光纤信号质量由于某种原因衰减,导致接收功率低于门槛值,从而产生MAINT信息。同时触发诊断中断OB82,PLC调用OB82来接收该中断信息,通过在OB82中编程,获取诊断信息。利用这些诊断信息可以显示在上位机上,以便用户快速的维护防止生产中断。
图4 PLC硬件组态
参考图2设置,当出现信号质量衰减时,通过Step7在线会出现“扳手”图标,指示需要维护,参考图5。
图5 绿色扳手指示端口状态
参考图3设置CPU的PNIO属性,然后在程序中加入OB82,进行编程。编程之前需要了解OB82临时变量的意义。
对于PROFINET,OB82临时变量的一些预留位,被赋予了一些新的含义。例如临时变量OB82_MDL_TYPE的Bit7表示Maintenance required,与维护状态绿色 相对应。临时变量OB82_RESERVED_2表述Maintenance demanded,与维护状态黄色 相对应。
例子程序如下:
A(
L #OB82_EV_CLASS
L B#16#39 //incoming event
==I
)
A(
L #OB82_MDL_ADDR
L W#16#1FF9 //diagnostics address for Port2 of IM151-3(Dec:8185)
==I
)
A(
O L 9.7 //Maintenance required
O #OB82_RESERVED_2 //Maintenance demand
)
S M 100.0 //to show maintenance information
A M 100.0
JCN next
CALL "DT_DATE"
IN :=#OB82_DATE_TIME
RET_VAL:=MW120 //Date
CALL "DT_TOD"
IN :=#OB82_DATE_TIME
RET_VAL:=MD124 //time
next: NOP 0
通过上述简单的程序实例,表明当在IM151-3接口模板的端口2出现光纤信号衰减而导致接收功率低于门槛值时,置位M100.0,同时获取故障事件时间和日期存储到MW120和MD124。这些变量可以编写在WinCC/WinCC flexible中进行显示,方便用户维护现场故障。对于其它端口或者其它分布式IO上的接口模板的端口诊断可以按照上述方式自行添加。
2, OB83诊断
OB83是插拔中断组织块。
对于PROFINET IO,OB83赋予了一些新的特点,对于S7 CPU31x-2PN/DP可以使用OB83来评估模块插拔中断。而对于PROFIBUS-DP系统中的S7-300则无法使用OB83。
在下列情况下CPU 操作系统调用OB83:
• 组态的模板插入/拔出之后。
• 在STEP 7 下修改了模板参数并在RUN 状态下装所作修改到CPU。
模板插入和拔出在RUN、STOP 和STARTUP 方式时每次组态的模板插入或拔出,就产生了插入/拔出中断(电源模板、CPU、适配模块和IM 不能在这种方式下移出)。
对于S7-300PLC不允许热插拔中央机架的模块。然而,存在一些特殊情况:
• S7 CPU31x-2PN/DP仅支持分布式IO设备插拔模板中断。
• S7 CPU IM151-7 DP和CPU IM151-8 PN支持中央机架IO的插拔(1块IO模板)。
如果没有遵守上述要求,例如在CPU IM151-8 PN的中央机架插拔2块IO模板。那么即使在CPU中加入了OB83,CPU也会停机,同时报告“Stop caused by I/O management”,只有这些故障消除才能启动CPU。所以在操作时必须遵守模板安装规范,防止不必要的停机。
当它检测到故障时,它输出一个插拔中断请求给CPU。于是操作系统调用OB83。如果没有下载OB83到PLC中,那么PLC会停机。具体相关变量信息可以查看Step7在线帮助OB83。
下面举一个模块更换的例子,假如一个DO模块损坏,然后替换一个新的模块,如果新的模块的类型与被替换的类型不一致,报告相应的错误。
例子程序如下:
A(
L #OB83_EV_CLASS
L B#16#38 //module insert
==I
)
A(
L #OB83_FLT_ID
L W#16#55 //Fault ID
==I
) //PROFINET IO submodule inserted, but does not match configured submodule
A(
L #OB83_MDL_TYPE
L W#16#8102
) //confirm again
A(
L #OB83_RESERVED_1
L B#16#C4
)
JCN next
L #OB83_MDL_ADDR
T MW 130 //read the address of the module
L #OB83_RACK_NUM
L 2#11111111111
AW
T MW 132 //determine the device number
next: NOP 0
通过上述简单的程序实例,表明当插入的实际模块与Step7组态的模块配置不相符时,可以获取该模板的所处位置的逻辑地址MW130和设备号MW132,参考图6 设备号和逻辑地址。也可以获取故障事件时间和日期存储到相应的变量中,参考相关OB82的编程方式。这些变量可以编写在WinCC/WinCC flexible中进行显示,方便用户维护现场故障。
图6 设备号和逻辑地址
3, OB86诊断
OB86是机架故障组织块。
操作系统在检测下列故障时会调用OB86:
•当中央扩展机架(非S7-300)故障。
•PROFIBUS-DP主站系统故障。
•分布式I/O 中(PROFINET IO/PROFIBUS DP)站故障。
•禁止一个站(PROFINET IO/PROFIBUS DP)使用SFC12”D_ACT_DP”模式4时。
•使能一个站(PROFINET IO/PROFIBUS DP)使用SFC12”D_ACT_DP”模式3时。
当CPU检测到故障时,发出中断请求给CPU,操作系统调用OB86。如果没有下载OB86到PLC中,那么PLC会停机。
下面举一个PN IO站丢失的例子,这是一种常见的故障,可能由于连接断开而导致某些IO站无法连接到IO控制器上,通过OB86的简单编程用户可以得到相应站的基本信息。
例子程序如下:
A(
L #OB86_EV_CLASS
L B#16#39 //incoming event
==I
)
A(
L #OB86_FLT_ID
L W#16#CB //PROFINET IO station failure/station return
==I
)
A(
L B#16#C4
L #OB86_RESERVED_1 //confirm again
)
JCN next
L LD 8
L 2#11111111111
AW
T MW 140 //determine the device number
L MD 10 //set a flag variable with initial value 16#1
SLD //shift to left with bits number of MW140
T MD 14
L DB1.DBD 0
OD
T DB1.DBD 0 //calculate device number into bit
L B#16#1
T MD 10 //set a flag variable with initial value 16#1
next: NOP 0
通过上述简单的程序实例,得出机架故障的分布式IO的设备号Device number,确定拿一个设备连接断开。当某一设备发生机架故障来Incoming事件时,得出该设备号码。但是如果IO设备串联在一起,前面的设备丢站导致后面的设备也丢失,简单编程获取站号只有会有一个站的信息,无法表示多个设备掉站。通过编程使用左移指令左移位bit的方式,但是需要给MD10设置初始值16#1,目的就是保证末位为1,这样偏移后可以知道该位1的移动位置,然后通过站号存储地址DB1.DBD0进行“或”运算,这样DB1.DBD0相应的位就置1,从而当多个设备掉站DB1.DBD0相应的位会置1。例如DB1.DBD0低字节为2#00000110时,表示设备号1(bit1)和2(Bit2)掉站,Bit0位0保持不变。这样最多可以获取63个设备掉站信息(63设备编号需要<64), 对于一般应用是足够的。最后还要给MD10设置初始值,以保证最后一位Bit0为1。这些Bit变量可以编写在WinCC/WinCC flexible中进行显示,方便用户维护现场故障。
相关问答
plc编程器通过什么与plcpn接口连接?
编程器通过网线和plc的网口连接,然后设定ip地址就可以了。编程器通过网线和plc的网口连接,然后设定ip地址就可以了。
pn总线技术?
1、如果是说编号中的PN,比如是3152PN-DP的话,那么PN的意思就是集成profinet接口。可以使用集成口做工业以太网通讯。2、如果是编程中PN的话,就是上升沿下降...
绝对值编码器接口dp怎样和plcpn接口的通讯?
首先要知道对方编码器用的是什么报文,然后才能用控制字编程。S7-300这边的设置主要是看有没有编码器的GSD文件,没有得安装,有就将其组态,设置DP地址(和编码...
plc中pn报警闪烁怎么解决?
1.PN报警闪烁可以解决。2.PN报警闪烁通常是由于PLC中的PN信号出现问题,导致设备无法正常运行。可能的原因包括PN信号线路故障、PN信号输入错误或PN信号模块...
wincc和带PN的plc的连接方式?
WinCC和带PN的PLC的连接方式可以通过两种方式实现:①S7-200/300/400、S7-1200/1500CPU的通讯接口采用Profinet标准全面支持的通讯方式。需要在WinCC项目中...
pn连接是什么?
PN连接是一种单向双绞线连接,通常用于电气自动化系统的PLC、HMI和传感器间的信号连接。它采用两根绞合线缆,并在每个端口使用4线接头,其中2根线载有信号电源,...
博途中如何查看pn网络故障?
如果正常运行时出现PROFINET通讯中断,检查过程和步骤:(1)首先需要检查确认网线的状态,可以通过观察PLC、交换机、V90PN设备接口上的指示灯进行快速确认,有...
pn网络和dp网络区别?
pn是profinet的简称,是西门子主推的一种工业以太网标准dp是profibus总线的一种,本质上属于485总线,通讯速度最快12mbps(实际达不到),一般用于连接远程IO、...
西门子故障安全型PLC和PNCPU的PLC有什么区别?
西门子故障安全型PLC可组态为一个故障安全型自动化系统,以提高安全运行的需要。PN-CPU在CPU这里集成了PROFINET接口。故障安全型PLC也有集成PROFINET接口的...
plc网络怎么增加?
1、扩展PLC网络口。FX3UPLC有一个标配的圆形422接口,为了组建以太网,需要在PLC端增加一个网络口,方法有两种:一是购买三菱原厂的FX3U-ENET-L网络扩展模块,...