• 西门子模块6ES7340-1BH02-0AE0供应
  • 西门子模块6ES7340-1BH02-0AE0供应
  • 西门子模块6ES7340-1BH02-0AE0供应

产品描述

产品规格模块式包装说明全新

西门子模块6ES7340-1BH02-0AE0供应


为了plc程序可读性强,短期内可以读懂并且能够修改,在PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:

一、程序结构
1、  程序结构统一
OB1:主程序;
OB100:初始化程序(主程序调用);
OB35:100ms(可修改)中断(主程序调用),可以调用PID模块;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(主程序调用、编程);
FC1:系统模式;
FC2:输入处理;
FC3:输出处理;
FC4:运行处理;
FC5:停止处理;
FC6:手自动切换;
FC7:
。。。
。。。
FC100:之后用来建立一些可以循环调用的子程序;
FC105:系统自带,模拟量输入子程序(可以循环调用);
FC106:系统自带,模拟量输出子程序(可以循环调用);
modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;
通讯CP340:FB2:P_RCV,FB3:P_SND;
一般PID:用FB41;
温、湿度PID:用FB58;
如果程序块与系统块重复,请避让。

2、  数据块
DB1:AI数据,类型:REAL,与上位机接口;
DB2:AO数据,类型:REAL,与上位机接口;
DB3:DI数据,类型:BOOL,与上位机接口;
DB4:DO数据,类型:BOOL,与上位机接口;
DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;
DB6:报警消息,类型:BOOL,与上位机接口;
DB7:类型:REAL,中间寄存器;
DB8:类型:INT,中间寄存器;
DB9:类型:WORD,中间寄存器;
DB10:类型:BOOL,中间寄存器;
DB11:之后用作与设备通讯用,例如:MODBUS通讯等;
DB100:之后用作调用FB块时的背景数据块;
M区:也作为中间变量。

3、  DP从站故障诊断
DP从站做故障诊断,故障报警,用FB125即可。

二、控制模式
1、  系统设置远程/本地/手动按钮
1.1、        远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;
1.2、        本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;
1.3、        手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。
2、  单台设备控制
单台设备有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。
3、  单台设备(泵、风机及其它大型设备)运行满24小时进行轮换,且有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;

三、编程技巧
1、  程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;
2、  如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;
3、  对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的大值;
4、  程序要有注释,变量及中间变量有描述,方便别人阅读或以后查阅;
5、  定期做程序备份,以工程名称+系统名称+当天日期;
6、  程序加密,防止别人。

在状态图的“新值(New Value)”栏,可以输入所需要的信号值进行状态的强制新。为了运行的,建议信号强制在PLC处于STOP状态时进行,为此,需要在主菜单“调试(Debug)”下选择“在STOP状态下强制输出(Write-Force Outputs in STOP)”选项。
    在输入了新的强制值后,通过单击工具条中的状态强制(Force)按钮,可以对的信号进行强制操作;单击工具条中的状态强制解除( Unforced)按钮,可以解除的信号的强制操作;单击工具条中的所有信号强制解除( All unforced)按钮,可以解除所有信号的强制操作。
    强制和取消强制工具条按钮选项仅在用于带有V、M、AI和AQ内存类型的字节、字和双字长度时才能使用。
    可以选择主菜单命令“调试( Debug)”下的各种选项实现以下调试功能:
    “单次读取( Single Read)”:获得“瞬态图”,即只对全部状态进行一次新,而不从PLC连续状态新信息。
  “全部写入( Writ All)”:可以在“新值”全部改动完成后,使用“全部写入”,一次性将所改动的值全部传送至PLC。因此,可以通过本操作,通过向程序写入一组信号,从而模拟一组控制条件或实现一组控制动作。
    “强制( Force)”:同工具条中的状态强制(Force)按钮,可将信号强制为某一数值。
    “读取全部强制( Read All Force)”:将全部信号强制为设定数值。
    “全部取消强制( Unforced All)”:同工具条中的所有信号强制解除(All unforced)按钮,可以解除所有信号的强制操作


西门子S7-300和S7-400PLC中“暖启动”、“冷启动”和“热启动”启动类型之间互有区别:
● 在暖启动中,从程序开始处以系统数据和用户地址区的初始设置开始进行程序处理(非保持性定时器、计数器和位存储器复位)。保持的标志存储器、定时器和计数器以及数据块的当前值保持(仅当有后备电池,如果使用EPROM 并且CPU的保持特性已赋参数时S7-300甚至可以没有后备电池)。OB100中的程序执行一次然后循环程序开始执行。S7-300只有暖启动,对于 S7-300而已,重新上电以及将模式开关从STOP拨到RUN都是暖启动。
● 在冷启动中,执行OB1 中的个命令时,读取过程映像输入表,并处理STEP7 用户程序(也适用于暖启动)。删除工作存储器中由SFC 创建的数据块;剩余的数据块具有来自装入存储器的预置值。 复位过程映像和所有定时器、计数器和位存储器,不管它们是否具有保持性分配。OB102中的程序执行一次然后循环程序开始执行。
● 在热启动中,在程序中断处重新开始执行程序(不复位定时器、计数器和位存储器)。在启动时所有数据(标志存储器、定时器、计数器、过程映像及数据块的当前值)被保持, OB101中的程序执行一次。然后程序从断点处(断电, CPU STOP) 恢复执行。这个“剩余循环”执行完后,循环程序开始执行。只有S7-400CPU中才能进行热启。

近调试涉及到西门子PLC与6SE70变频器通讯,因为以前没有深入接触过西门子的通讯连接,有关于控制字和状态字的问题比较挠头,询问了有经验的,现在刚刚懂了点皮毛,好记性不如烂笔头,先赶紧记下来,以后慢慢深入学习,也供大家参考。
这里仅举一个启动变频器与速度给定的例子。
在这里采用的是PPO 5的通讯方式,这样应该会有10个PZD,但这里我们先只用前两个PZD。
PLC给变频器的个PZD存储在变频器里的K3001字里。K3001有16位,从高到底为3115到3100(不是3001.15到3001.00),变频器的参数P554为1时变频器启动为0时停止,P571控制正转,P572控制反转,如果把P554设置等于3100,那么K3001的位3100就控制变频器的启动与停止,P571设置等于3101则3101就控制正转,P572设置等于3102则3102就控制反转。经过这些设置后K3001就是PLC给变频器的个控制字。此时K3001的3100到3115共16位除了位3110控制用途都不是固定的,所以当设置P554设置等于3101时则3101也可以控制启动与停止,P571等于3111时则3111控制正转,等等。因为K3001的位3110固定为“控制请求”,这位为1变频器才能接受PLC的控制讯号,所以变频器里没有用一个参数对应到这个位。
PLC给变频器的二个PZD存储在变频器里的K3002字里,变频器的参数P443存放给定值,如果把参数P443设置等于K3002,那么整个字K3002就是PLC给变频器的主给定控制字。PLC发送过来的二个字的大小为0到16384(十进制—),(对应变频器输出的0到**),当为8192时,变频器输出频率为25Hz。
变频器的输出给PLC的个PZD字是P734.1,二个PZD字是P734.2,等等。要想把PLC接收的个PZD用作个状态字,需要在变频器里把P734.1=0032(既字K0032),要想把PLC接收的二个PZD用作二个状态字,需要在变频器里把P734.2=0033(既字K0032)。(K0032的BIT 1为1时表示变频器准备好,BIT 2表示变频器运行中,等等)
(变频器里存贮状态的字为K0032,K0033等字,而变频器发送给PLC的PZD是P734.1,P734.2等)在变频器里把P734.3=0148,在变频器里把P734.4=0022,则三个和四个变频器PZD分别包含实际输出频率的百分比值和实际输出电流的百分比值。
在编写程序时,如果用一个变量(例如mw1160)去MOVE一个位或一个字到PZD时,mw1160是包含从M1160.0至M1161.7共16个位,与3001(或3002...等等)位的对应关系是:
M1161.0---3100 M1160.0---3108
. .
. .
. .
M1161.7---3107 M1160.7---3115
这样的话如我把P554.1设置为3100时,只需要将一个高电平信号写入变量M1161.0中就可以了,这时变频器就会启动。
以上的文字有些转载至互联网的论坛,由于发帖的人也是转载,所以找不到原帖的作者了,在这里谢谢这些前辈。

202207281244519172844.jpg202202231632210850864.jpg202202231632201798164.jpg

西门子PLC的网络是适合不同的控制需要的,也为各个网络层次之间提供了互连模块或装置,利用它们可以设计出满足各种应用需求的控制管理网络。西门子S7系列PLC网络如图7-25所示,它采用3级总线复合型结构,底一级为远程I/O链路,负责与现场设备通信,在远程I/O链路中配置周期I/O通信机制。中间一级为Profibus现场总线或主从式多点链路。前者是一种新型现场总线,可承担现场、控制、监控三级的通信,采用令牌方式与主从轮询相结合的存取控制方式;后者为一种主从式总线,采月主从轮询式通信。一层为工业以太网,它负责传送生产管理信息。在工业以太网通信协议的下层中配置以802.3为的以太网协议,在上层向用户提供TF接口,实现AP协议与MMS协议。
    PLC要提供金字塔功能或者说要实现NBS或ISO模型要求的功能,采用单层子网显然是不行的。因为不同层所实现的功能不同,所承担的任务的性质不同,导致它们对通信的要求也就不一样。在上层所传送的主要是些生产管理信息,通信报文长,每次传输的信息量大,要求通信的范围也比较广,但对通信实时性的要求却不高。而在底层传送的主要是些过程数据及控制命令,报文不长,每次通信量不大,通信距离也比较近,但对实时性及性的要求却比较高。中间层对通信的要求正好居于两者之间。
    PLC网络的分级与生产金字塔的分层不是—一对应的关系,相邻几层的功能,若对通信要求相近,则可合并,由一级子网去实现。采用多级复合结构不仅使通信具有适应性,而且具有良好的可扩展性,用户可以根据投资情况及生产的发展,从单台PLC到网络、从底层向高层逐步扩展。下面列举几个有代表性公司的PLC网络结构


问:西门子S7-300编程要用到SCL吗,只用LAD怎么样?

答:S7 SCL是符合EN 61131-3(IEC 61131-3)标准的文本语言,也就是说支持该标准的任意厂家的PLC均可以使用与之相似的语言编程,支持强大的数据处理运算功能,一般深受IT人员的喜爱。SCL是STEP 7软件的一个可选附件包,标准版的只有LAD,STL,FBD三种编程工具。它同STL、LAD、FBD属于同一个作用, SCL需要用单的程序块来编写,需要编译后才能下载到CPU执行;LAD和STL可以在同一个程序块里编写。在STEP7没有安装SCL时,用其编辑的块都会以STL格式打开并显示。

 

    S7 SCL包含的语言结构与编程语言Pascal和C相类似,所以只要接触过Pascal、Delphi、vb等编程语言者,实现S7-SCL语言的快速入门是非常的,不必了解继电器原理,而且,即使是做逻辑控制也只需简单的编程语句就可以完成,所以S7 SCL特别适合于习惯于使用编程语言的人使用。这种语言适合于处理复杂的逻辑和大量的数学运算,由于其具有语言的编程结构,因此和S7的STL语句表编程方式比较起来有着加方便的控制方式,可以这样说,只要是使用语句表的地方,我们均可以考虑使用SCL。也许STL在执行时比SCL加,但事实上也不一定,SCL可以编译成STL,同时SCL设计时可以优化编程,而STL若运用不当,可能还会将低效率。当然在目前的这种系列的PLC上,效率对于我们来说已是次要的,我们关心的是编程结构。就像在PC机上,舍弃了汇编语言,而主要采用C/C++等语言。总体来说,SCL适合于编写标准功能块,由于在维护中,它和STL一样,不象Lad一样利于维护,因此这些标准功能块都应该有文档说明,以便用户了解其功能。STL源文件由文本组成,使用关键字在源文件中设定块结构、声明变量表和程序网络段,为将其编译成块,按一定规则编写其结构及语句。

    当使用LAD(梯形图)/FBD(功能图)编程时,系统会自动添加严格的语法结构。而STL并不自动添加完整的语法结构(数据类型匹配,系统堆栈处理等)。应此LAD/FBD格式的程序可以转换为STL格式,而STL格式的程序并不一定可以转换为LAD/FBD。

    SCL可以编译成STL。如果想再把STL转换成LAD,难度很大,或者说不可能。把STL程序按功能组拆成逐个网络,然后或许大部分可以转换成LAD,但是无法保持程序的完整性,零零散散无法阅读。

    做PCS7项目,如果不学会SCL语言,做项目难度比较大,单纯使用CFC和SFC编程,由于工艺控制的复杂性和多样性,CFC图表会有大量的块,程序可读性不高,技术保密不了;用SCL编程可以把工艺联锁、工艺控制程序和工艺数据处理包装成一个FB块,CFC程序就简单多了。 PCS7是DCS系统,模拟量很多,而且程序一般都比较大。这种大型的程序通常都用语言工具来编写,例如SCL,CFC和SFC。他们编译以后生成STL,但是没有注释,阅读难度会非常大,一年都未必看的明白。工业控制软件发展到现在,大型程序通常都是用语言来编写,如SCL,CFC和SFC这样工作量会小很多很多。所以建议大家直接阅读学习SCL语言编写的程序。

    对于STL、LAD、SCL等语言之间进行转换的问题,的确有些STL变成LAD是转不过来的。反过来行。LAD可以直接转SCL,但反过来不一定行,需要严格的按一定的格式写才能转回来,因为SCL是结构化编程语言,比LAD复杂。

    总的来说,SCL适合软件工程师,LAD适合电气工程师,STL兼有优缺点,FBD适合电子工程师


我的6es7972-ocb20-oxao    usb口的,怎么不能和西门子s7-200通信呢?具体怎么操作?

答:西门子编程电缆PC-Adapter (USB)      定货号:6ES7 972-0CB20-0XA0   支持PPI,MPI,PROFIBUS 。可以连接200系列的CPU。我自己有一条。

 

安装驱动程序。购买的时候应该有附带的CD-ROM,里面有驱动。或者到西门子网站上去下载一个驱动。
操作步骤
用户成功安装驱动后,插上 PC Adapter 到计算机,并且插上 PC Adapter 到 CPU,为其供电。
打开 SET PG/PC Interface:SET PG/PC Interface 界面
选择“PC Adapter(PPI)”
 如果在这里找不到此选项 ,说明用户没有安装 V1.2 版本的 USB PC Adapter 驱动,或者安装的是低版本驱动。用户从上面的链接下载并安装版本的驱动程序。
点击设置PG/PC接口,“Properties--属性”设置 PC Adapter(PPI) 的属性,暂无,则返回界面重新在进入属性。 
设置 PC Adapter(PPI) 的属性:设置正确的通信速率,USB接口。
3、端口波特率设正确,即与 CPU通信口的波特率设置致。 
检查“Local Connection”标签:查看本地连接端口
4、在“Local Connection”页签可以看到端口已经设定“USB”。
回到“通信”设置窗口:“通信”窗口 
5、使用USB接口的PC Adapter 无法使用’搜寻所有波特率’功能。 
6、用鼠标双击“双击刷新”搜索所连接网络上的 S7-200 站。

 

下载线只有USB端插到电脑上,MPI,POWER,USB三个指示灯是都不会亮的。
6ES7972-0CB20-0XA0需要mpi侧给供24v的电才能工作,插到cpu或有24v输出管脚的接口的设备上时MPI,POWER灯才亮,这时插入到PC机的USB口上时,USB指示灯才亮。
所以没有cpu时无法确定好坏。




http://zhangqueena.b2b168.com

产品推荐