1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;
2)需要将 MPI 通讯卡 CP5611 卡安装在计算机的插槽中,使用西门子公司提供的电缆和网络接头将 CP5611 卡和 S7-200 的 Port 口相连(CP5611 卡的 3,8 分别和 S7200的 PORT 口 3,8 连接),一般情况下 MPI 网络中连接后一个设置得网络接头的终端电阻应打到 ON(有效)状态;
3)PLC 中 MPI 网络的创建和通讯波特率的正确设置;
4)在控制面板中 SetPG/PC 接口参数的设置;具体可参考组态王电子帮助。
(二)
组态王与西门子 200 plc 自由口协议通过 modem 通讯,硬件接线怎样实现?
设备上插标准 PPI 电缆,modem9 针口通过一个标准 232 交叉线接到 PPI 电缆上即可,232 交叉线的 modem 侧需要 1 4 6 短接,7 和 8 短接。
(三)
一台 S7 200 PLC通过串口方式能否接两个上位机通讯?
通过串行电缆的方式不行,可以考虑使用以下两种方式:
1)PLC 配置为 MPI 协议,这样两个上位机需要各配置一块 MPI 卡;
2)两个 PC 机中,一个作为采集站和 PLC 通讯,另外一个作为客户端和采集站通讯。
()
西门子 200Plc 通过 PPI 协议与组态王通讯失败,为何?
请检查如下设置是否正确:
1)用户编程电缆的拨码设置:在编程电缆的拨码中, 5 个端子是设置通讯协议的:拨码设置为 0,表示 PPI/Freeport ;拨码设置为 1,表示 PPI(master);用户使用 PPI 协议和组态王通讯时,拨码选择 PPI/Freeport 对应拨码值即可;
2)PPI 通讯传输的是 11 位的数据,也就建议客户拨码选择 8 数据位 1 停止位偶校验(拨码默认为 11 位),并且 PLC 的波特率和 PPI、组态王要一致;
3)要求编程软件必须是离线时启动运行组态王。
(五)
西门子 200plc 通过 modbus 协议与组态王通讯时,组态王中定义的寄存器地址与plc 地址是如何对应的?
映射关系如下:0-Q,1-I,3、4、8、9-V;
3,4,8,9 的 dd 号与 PLC 中 V 寄存器的偏移地址(实际地址-1000)的对应关系:组态王中(寄存器的 dd 号-1)*2=PLC 中的 V 寄存器的偏移地址。组态王中 40031对应 PLC:VW1060 (组态王中寄存器 4 表示 SHORT 型变量)组态王中 90640 对应 PLC:VD2278 (组态王中寄存器 9 表示 FLOAT 型变量)。
(六)
西门子 200plc 通过 modbus 协议与组态王通讯,需要注意哪些事项?
需要注意如下几点:
1)需要向 PLC 中下载对应的初始化程序(KVmoddbus.mwp),由亚控提供。此程序默认的 plc 通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中的 VB8,SMB30 进行修改);
2)由于 PLCModbus 协议程序占用 V1000 及以前的地址,所以用户在编写逻辑控制程序中用到的寄存器不能和亚控提供的协议中所占用的 V 区地址冲突;
3)西门子 S7200PLC 和通过 modbus 协议和组态王通讯时,CPU 上的开关必须拨在RUN 状态,否则 PLC 中的 modbus 通讯程序没有处于运行状态,组态王和设备通过自由口协议肯定通讯失败。
(七)
S7 300 MPI 电缆方式是否支持通过 GPRS 和组态王通讯?
不支持。
组态王的 GPRS 通讯方式要求必须创建虚拟串口并通过此串口进行数据通讯。而对于 MPI 协议,我们的 MPI 驱动是通过调用西门子 PLC 的动态连接库(s7onlinx.dll等)实现和 PLC 进行通讯的,并不是直接通过串口实现数据通讯。
其他类似调用方法的驱动,同样也不支持 GPRS 连接。
(八)
组态王和多台西门子S7-300、400 PLC 通过 DP 协议通讯时,设备地址应如何定义?
1)硬件连接:计算机中插入一块CP5611(或CP5613)可实现将多个S7-300/400PLC连接在一条 DP 总线上。
2)DP 协议设置:所有 PLC 必须设置的 DP Slave 站, CP5611(或 CP5613)要求通过 Simatic net 设置的 DP master 站;
3)组态王中设备地址定义:选择 PLC/西门子/S7-200 系列(DP)/Profibus-DP ,设备地址固定为 1.1 (该地址与从站 PLC 的地址设置无关)。
(九)
西门子 300 plc 通过 MPI 通讯卡与组态王进行通讯时,能否实现双设备冗余的功能?
可以实现。
1)一个 cp5611 卡可以连接两台 s7300plc(使用西门子厂家提供的可编程插头来实现);
2)在组态王软件中建立两个 s7300plc,设备地址分别设备为 7.2 和 8.2(设备地址根据实际设备来设置),小数点前面的号指 plc 的地址,后面是 cpu 所在的槽号。这两个 plc 在 STEP7 编程软件中是单定义的,所以除 plc 地址不一样,槽号是一样的;
3)在组态王中只须定义主设备的变量即可。
如何规范编写一个西门子PLC程序
程序结构统一
OB1:主程序;
OB100:初始化程序(*主程序调用);
OB35:100ms(可修改)中断(*主程序调用),可以调用PID模块;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(*主程序调用、*编程);
FC1:系统模式;
FC2:输入处理;
FC3:输出处理;
FC4:运行处理;
FC5:停止处理;
FC6:手自动切换;
FC100:之后用来建立一些可以循环调用的子程序;
FC105:系统自带,模拟量输入子程序(可以循环调用);
FC106:系统自带,模拟量输出子程序(可以循环调用);
modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;
通讯CP340:FB
一般PID:用FB41
温、湿度PID:用F;
如果程序块与系统块重复,请避让。
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、 单台设备
(泵、风机及其它大型设备)运行满必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;
编程技巧
1、 程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;
2、 如遇情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;
3、 对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的大值;
4、 程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;
5、 定期做程序备份,好以工程名称+系统名称+当天日期;
6、 程序加密,防止别人取。
西门子PLC按照控制规模来分类
可以分为大型机、中型机和小型机。
西门子PLCS7-3系列
西门子PLCS7-300系列
小型机:小型机的控制点一般在256点之内,适合于单机控制或小型系统的控制。
西门子小型机有S7-200:处理速度0.8~1.2ms ;存贮器2k ;数字量248点;模拟量35路 。
中型机:中型机的控制点一般不大于2048点,可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行,它适合中型或大型控制系统。
西门子中型机有S7-300:处理速度0.8~1.2ms ;存贮器2k ;数字量1024点;模拟量128路 ;网络PROFIBUS;工业以太网;MPI
大型机:大型机的控制点一般大于2048点,不仅能完成较复杂的算术运
西门子PLCS7-400系列
算还能进行复杂的矩阵运算。它不仅可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行。
西门子大型机有S7-400 :处理速度0.3ms / 1k字;
存贮器512k ;I/O点12672;
在S7 CPU中如何进行全局数据的基本通讯?在通讯时需要注意什么?
全局数据通讯用于交换小容量数据,全局数据(GD)可以是:
输入和输出
标记
数据块中的数据
定时器和计数器功能
数据交换是指在连入单向或双向GD环的CPU之间以数据包的形式交换数据。GD环由GD环编号来标识。
单向连接:某一CPU可以向多个CPU发送GD数据包。
双向连接:两个CPU之间的连接:每个CPU都可以发送和接收一个GD数据包。
必须确保接收端CPU未确认全局数据的接收。如果想要通过相应通讯块(SFB、FB或FC)来交换数据,则必须进行通讯块之间的连接。通过定义一个连接,可以大简化通讯块的设计。该定义对所有调用的通讯块都有效且不需要每次都重新定义。
可以将S7-400存储卡用于CPU 318-2DP吗?
在通常的操作中,只能使用订货号为6ES7951-1K... (Flash EPROM)和6ES7951-1A... (RAM)的“短”> 存储卡。
7:尽管LED灯亮,为什么CPU 31xC不能从缺省地址124和125读取完整输入?
对于下列型号的CPU ,请检查 24V 电压是否接入引脚 1。LED由输入电流控制。引脚 1 上的 24V 电压需要做进一步处理。
313C(6ES7 313-5BE0.-0AB0),313C-2DP (6ES7 313-6CE0.-0AB0),313C-2PTP (6ES7 313-6BE0.-0AB0), 314C-2DP (6ES7 314-6CF0.-0AB0),314C-2PTP (6ES7 314-6BF0.-0AB0)
8:配置CPU 31x-2 PN/DP的PN接口时,当PROFINET接口偶尔发生通信错误时,该如何处理?
请确定以太网(PROFINET)中的所有组件(转换)都支持 100 Mbit/s全双工基本操作。避 免中心分配器割裂网络,因为这些设备只能工作于半双工模式。
9:在硬件配置编辑器中,“时钟”修正因子有什么含义呢?
在硬件配置中,通过CPU > Properties > Diagnostics/Clock,你可以进入“时钟”> 域内一个修正因子。这个修正因子只影响CPU的硬件时钟。时间中断源自于系统时钟,并且和硬件时钟的设定毫无关系。
为什么要用PC/PPI接口?
因S7200CPU使用的是RS485,而PC机的COM口采用的是RS232,两者的电气规范并不相容,需要用中间电路进行匹配。PC/PPI其实就是一根RS485/RS232的匹配电缆。
2、晶体管输出与继电器输出各自的优点如何?
晶体管不能带AC220V的交流负载,只能带低压的直流。对抗过载和过压的能力差。但可以输出,适合高频率输出的场合,例如脉冲控制。继电器可以带AC220V和直流的负载。但由于继电器本身的特性决定了它不能高频输出。同时继电器通断的寿命一搬在10万次左右。所以在频繁通断的场合也适合用晶体管。
3、S7-200 CPU上的通讯口,通讯距离究竟有多远?
《S7-200系统手册》上给出的数据是一个网段50m,这是在符合规范的网络条件下,能够保证的通讯距离。凡出50m的距离,应当加中继器。加一个中继器可以延长通讯网络50米。如果加一对中继器,并且它们之间没有S7-200 CPU站存在(可以有EM277),则中继器之间的距离可以达到1000米。符合上述要求就可以做到非常可靠的通讯。实际上,有用户做到了过50m距离而不加中继器的通讯。西门子不能保证这样的通讯一定成功。
西门子S7-200 PLC初学者都面临的问题,今天汇总普及
4、通讯口参数如何设置?
缺省情况下,S7-200 CPU的通讯口处于PPI从站模式,地址为2,通讯速率为9.6K,要改通讯口的地址或通讯速率,必须在系统块中的通讯端口选项卡中设置,然后将系统块下载到CPU中,新的设置才能起作用。
5、M区域地址不够用怎么办?
有些用户习惯使用M 区作为中间地址,但S7-200CPU中M区地址空间很小,只有32个字节,往往不够用。而S7-200CPU中提供了大量的V 区存储空间,即用户数据空间。V存储区相对很大,其用法与M 区相似,可以按位、字节、字或双字来存取V 区数据。例:V10.1, VB20, VW100, VD200等等。
6、S7-200的远距离通讯有哪些方式?
1)RS-485网络通讯:PPI、MPI、PROFIBUS-DP协议都可以在RS-485网络上通讯,通过加中继,远可以达到9600米。
2)光纤通讯:光纤通讯除了抗干扰、速率高之外,通讯距离远也是优点。S7-200产品不直接支持光纤通讯,需要附加光纤转换模块才可以。
3)电话网:S7-200通过EM241音频调制解调器模块支持电话讯。EM241要求通讯的末端为标准的音频电话线,而不论局间的通信方式。通过EM241可以进行**通讯。
4)无线通讯:S7-200通过无线电台的通讯距离取决于电台的频率、功率、天线等因素;S7-200通过GSM网络的通讯距离取决于网络服务的范围 ;S7-200通过红外设备的通讯也取决于它们的规格。
西门子S7-200 PLC学者都面临的问题,今天汇总普及
NPN和PNP传感器混接进200PLC的方法大家都知道一般日系PLC如三菱、OMRON等一般公共端是+信号接入的时候通常是选用NPN传感器。
欧系PLC的公共端一般是-,大多选用PNP的传感器接入信号。如200/300等那么当200PLC做系统时候,提供的传感器有PNP和NPN两种那么问题怎么解决呢?
方法一:NPN传感器利用中间继电器转接。方法二:大家在设计的时候一般把200PLC的输入端[M]统一接24V-,其实,200PLC同样可以引入-信号输入,把1M的接24V+,I0.0-0.7统一接NPN传感器,把2M接24V-,把PNP传感器统一接I1.0-1.7这样就能达到NPN&PNP传感器混接进PLC的目的。原因很简单,200PLC支持两种信号接入,内部是双向二管采用光电隔离进行信号传输的。
11、高速计数器怎样占用输出点?
高速计数器根据被定义的工作模式,按需要占用CPU上的数字量输入点。每一个计数器都按其工作模式占用固定的输入点。在某个模式下没有用到的输入点,仍然可以用作普通输入点;被计数器占用的输入点(如外部复位),在用户程序中仍然访问到。
12、为什么高速计数器不能正常工作?
在程序中要使用初次扫描存储器位SM0.1来调用HDEF指令,而且只能调用一次。如果用SM0.0调用或者二次执行HDEF指令会引起运行错误,而且不能改变次执行HDEF指令时对计数器的设定
13、高速计数器如何寻址? 为什么从SMDx中读不出当前的计数值?
可以直接用HC0;HC1;HC2;HC3;HC4;HC5对不同的高速计数器进行寻址读取当前值,也可以在状态表中输入上述地址直接监视高速计数器的当前值。SMDx不存储当前值。高速计数器的计数值是一个32位的有符号整数。
高速计数器如何复位到0?
选用带外部复位模式的高速计数器,当外部复位输入点信号有效时,高速计数器复位为0, 也可使用内部程序复位,即将高速计数器设定为可新初始值,并将初始值设为0,执行HSC指令后,高数计数器即复位为0 。
15、为何给高速计数器赋初始值和预置值时不起作用,或效果出乎意料?
高速计数器可以在初始化或者运行中改设置,如初始值、预置值。其操作步骤应当是:
1)设置控制字节的新选项。需要新哪个设置数据,就把控制字节中相应的控制位置位(设置为“1”);不需要改变的设置,相应的控制位就不能设置。
2)然后将所需的值送入初始值和预置值控制寄存器3)执行HSC指令
(一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?
1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;
2)需要将 MPI 通讯卡 CP5611 卡安装在计算机的插槽中,使用西门子公司提供的电缆和网络接头将 CP5611 卡和 S7-200 的 Port 口相连(CP5611 卡的 3,8 分别和 S7200的 PORT 口 3,8 连接),一般情况下 MPI 网络中连接后一个设置得网络接头的终端电阻应打到 ON(有效)状态;
3)PLC 中 MPI 网络的创建和通讯波特率的正确设置;
4)在控制面板中 SetPG/PC 接口参数的设置;具体可参考组态王电子帮助。
(二)组态王与西门子 200 plc 自由口协议通过 modem 通讯,硬件接线怎样实现?
设备上插标准 PPI 电缆,modem9 针口通过一个标准 232 交叉线接到 PPI 电缆上即可,232 交叉线的 modem 侧需要 1 4 6 短接,7 和 8 短接。