直播课堂
HOME
直播课堂
正文内容
plc编程设置值 用PLC控制称重,其实很容易,5分钟学会S7-200称重编程和校称
发布时间 : 2025-06-06
作者 : 小编
访问数量 : 23
扫码分享至微信

用PLC控制称重,其实很容易,5分钟学会S7-200称重编程和校称

原创不易,请勿抄袭!

我知道这么写一点意义都没有,我也不可能去追究别人盗版我文章的责任,但我希望我写了近6个小时的文章会有人真心喜欢,会有人能够学到文章里的知识点,并应用到工业中,这样我的目的就达到了,然后希望大家能支持我一下,点赞收藏并分享,让更多的人看到这篇写之不易的文章,谢谢。

上篇文章我们讲了PLC连接称重传感器的几种方法以及这几种方法的优缺点,今天我们说一下如何使用西门子S7-200编写称重程序。下篇文章我们会再讲一下西门子S7-300的称重程序;本文提到的所有程序实例,手册和库文件还有称重模块的详细信息以及校称软件等等我都已打包好,有需要的在评论区留下邮箱,我会一一发送。

1 称重传感器+二次表+模拟量输入的方式比较简单,只需要识别好模拟量输入通道,然后将模拟量输入转换为需要的数值范围就可以。

2 称重传感器+二次表+通讯的方式,需要选择带232/485通讯接口的PLC,设置好通讯参数后,从接收口读到的数值就是称重的实际数值,然后进行换算即可,232/485通讯也是PLC使用的一个知识点,大家有兴趣的话可以在下方留言,我可以给大家讲解。

3 我们主要讲讲这个最经典的方式吧,那就是重传感器+接线盒+称重模块。

要想使用这种方式称量的话,我们需要编写PLC程序,并且通过软件设置称重模块参数,并进行校称等操作。

一首先我们先说说PLC编程,其实称重系统的编程学起来非常难,但应用起来非常简单。为什么这么说呢?

举个例子,1+1=2大家都知道,但是要问1加1为什么等于2那就复杂多了。

所以大家想用PLC控制称重系统的话,只需要把我给大家做的例子按照现场实际设备简单修改一下,然后下到PLC里就可以使用,下载后有疑问的话再去测试各个点的功能,多用几次后就熟练了。(几乎所有人的第一套PLC程序都是抄袭别人的,一点一点探索然后自己才有思路。)

但是为了让大家理解更深一些,我除了把程序发给你们让你们模仿外,还会将一些重要的信息列出来,让大家对称重系统有一个系统的了解,这样才能快速的学会称重的编程。

我们选用的PLC是CPU226.西门子S7-200其他型号也可以,但是需要注意:1不同PLC可以拓展的称重模块数量不同,2程序设置的起始位置可能有变化,因为有的PLC自带模拟量,所以接到PLC后的称重模块的起始值就不是AIW0,而称重模块前没有模拟量输入的一般起始地址就是AIW0.具体起始值以硬件监测到的为准,这个后文我们会说到。

然后按照接线图将传感器接到接线盒,再由接线盒接到PLC模块,然后检查下回路,没有问题后送电。

连线方式

SIWAREX MS称重模块

用西门子的专用编程电缆连接到PLC,以前说过西门子PLC的区别,S7-200没有以太网口,S7-200smart不能拓展称重模块,有点尴尬,所以只能用这种特定电缆进行编程。

西门子称重模块可以理解成一种硬件,所以需要驱动,对西门子S7-200来说,这个驱动就是库文件,我们将库文件倒入程序中,库文件也打包在文件包里。

打开软件,添加库文件

添加成功

程序出现在库里

倒入后大家可以看到两个程序块,一个程序块是用来读取称重数值的,另一个是用来清零的,这两个程序块我们可以直接拉出来用。

连接好PLC后先将滤波功能去掉,以前的文章说过,滤波会导致称重有延迟,所以需要去掉。工业自动化的知识网络就是由一个一个知识点构成,我需要将整个知识网络拆分成一个一个知识点,大家需要一个一个知识点学习,然后构建自己的知识网络。

删除滤波功能

然后我们读取下PLC信息,可以看到状态是AIW0,图片为例子为截图,德国的E是输入I,A是输出Q的意思,所以有些德国图纸标记是E和A,大家了解一下就可以。

可以看出起始值是AIW0,和AQW0,后面程序设置会用到

然后我们进行编程。

第一行和第二行为数据转换,其中第一行的firstA为PLC硬件读到的地址,其他的依次后移一个字节;比如文中读到的地址是AIW0,AQW0参数设置就是AIW0,AIW2,AIW4,AIW6,AQW0,AQW2,AQW4,AQW6;如果读到的地址是AIW8,AQW8参数设置就是AIW8,AIW10,AIW12,AIW14,AQW8,AQW10,AQW12,AQW14。

FirstVB是数据转换的起始位置,以指针的形式,实际数据为后移一位,如果是&VB200,那实际读数就是VW202,这个数可以任意填写,只要不侵占其他程序就可以。

第三行和第四行是清零指令,按照上述程序即可实现清零,但需谨记,清零仅在称的重量小于一定数值以下才可,否则无法清零,我用的传感器的清零上限是50g。

PLC程序就是这样,因为VW是字的格式,不可以与数值作比较,需要转换到可计算的数据格式,所以例子程序转换为VD1000,VD1000就是可以比较的最终重量数值,如果需要以设定值控制外部设备的话就用VD1000做数值比较就可以。

二除了PLC程序,我们还需要按照称重传感器设置称重模块参数。我们需要用到的软件是Siwatool_V4或者Siwatool_MS,这两个软件的区别就在于Siwatool_V4可以针对多个称重模块,Siwatool_MS只对应一种模块,所以我一般两个都装,哪个好用用哪个,用法大致一样。

我们需要一根线连接称重模块和安装以上软件的电脑;

两侧各为9针串口,称重模块上有串口接口,电脑侧如果没有的话需要串口转USB转换器。

连接之后。

第一步:建立通信

点击Module name,选择SIWAREX MS

然后点击Online按钮,软件与模块建立通信,如果通讯不上的话,切换一下COM口就可以了。

PC列参数表示SIWATOOL软件中的参数设置,SIWAREX列为称重模块内实际设置的参数,当二者不一致时,参数为红色。

将鼠标点击

Adjustment parameter (DR3) 上,鼠标右键,选择Receive data record,将DR3中的所有参数读取到SIWATOOL软件中。

第二步:称重模块参数设置

Adjustment weight 1:标定砝码重量,因为SIWAREX MS只能通过一个Word来存储重量,无法显示小数点,所以此处输入砝码重量时需要考虑小数点个数。此处输出2000,如果小数点个数为2,那么代表标定砝码重量为20.00

Decimal place for the remote display:小数点个数

Weighing range:称量范围,指容器或者秤台上被称量的物料的最大重量,而不是传感器量程。当重量大于此处设置的称量范围时,称重模块的MAX指示灯会变为红色。

第三步:将参数发送到称重模块中

完成上述参数设置后,将鼠标点击Adjustment parameter (DR3) 上,鼠标右键,选择Send data record,将DR3中的所有参数写入到称重模块中。

第四步:零点标定

将秤清空,然后执行零点标定,此时重量显示为0。

第五步:砝码标定

将标定砝码(重量与第二步设定的砝码重量一致)放在秤上,然后执行砝码标定,此时显示砝码重量。

第六步:参数备份。

点击Receive all data按钮,将称重模块参数全部上载,然后单击Save as按钮,将参数保存为文件。如果需要更换新模块时,只需要将该文件打开,通过Send all data,将参数下载到新模块中即可,无法重新进行标定。

西门子有多种称重模块,软件也有多个,但都大同小异,只要我们熟悉一个效称软件,其他的就非常容易了。

最后提醒大家一下,无论是更换称重模块还是更换称重传感器我们都需要重新效称,然后即使不坏的话,传感器使用时间过长也需要重新效称才能保持准确度。

六小时的心血啊,希望大家喜欢,分享知识是我最大的快乐!想要资料的留下邮箱。

(如果喜欢这篇文章,请点赞并关注,以便优秀文章在第一时间收到推送)

西门子PLC通讯控制S120变频器,PLC程序加变频参数,你也可以学会!

今天我们来讲解一下西门子PLC使用通讯控制S120变频器

通过DP总线实现S7-300与SINAMICS S120通讯

1.1 DP总线通讯功能

S7-300与SINAMICS S120之间DP通讯借助于系统功能块SFC14/SFC15进行周期性数据通讯。周期性数据交换指的是数据的实时交换,如控制字和设定值。

1.2 DP地址设定

驱动侧,S120上通过拨码开关来设置DP地址,设定范围为1-126.

当所有拨码拨至ON或者OFF状态时,通过P918参数设置DP地址。

1.3 STEP7硬件配置

在STEP7中新建项目,点击Insert-Station-2. Simatic 300 Station

打开硬件组态,新建DP NETWORK,在CATALOG中选择相应S120产品,如SINAMICS S120 CU320,将其加入DP总线,DP地址设置应与驱动侧设置地址一致。

选择相应的S120Firmware版本,如V2.5

此时会要求选择Message frame,点击选中Object1,然后点击Delete slot,

这时Message frame selection为None。点击OK。

保存编译硬件组态,将其下载至PLC中。

注:此时仅将PLC硬件配置完成,S7-300与S120之间通讯尚未建立,CPU会BF灯亮,SF等闪烁,S120侧LED DP灯不亮。

1.4 S120配置

打开STEP7,此时会出现SINAMICS S120 CU320,点击Open Object打开S120项目。

打开S120项目后,选择在线Connect to target system

若是新的CF卡可选择自动配置Automatic Configuration,通过DRIVE-CLIQ口将S120硬件配置装载至PG电脑。

若是旧CF已有配置,可选择工厂复位,将参数复位到出厂状态。

点击Start automatic configuration按钮,开始自动配置

提示选择S120驱动类型,选择SERVO伺服方式。

配置完毕出现下图画面,点击close

此时需要离线配置,点击Disconnect from target system

配置驱动SERVO_02,点击Confiure DDS

出现S120驱动配置画面,将前三项都打勾,激活基本定位功能。

配置MotorModule,由于之前已有Drive-CLIQ将配置读上来,直接Continue

出现提示,将P0864 Infeed in operation设为1

配置电机,直接由Connection X1通过DriveCLIQ读出电机信息

选择电机是否有抱闸刹车

选择编码器类型

已有DriveCLIQ读出

在Mechanics画面中

设置传动比,Load revolutions 和Motor revolutions

设置S120电机一圈所对应的长度单位LU。

LU per load revolutions(position setpoint/actual)画面中将值设为了10000,即电机一圈代表走了10000个LU

注:LU per load revolutions(position setpoint/actual)设置的值与编码器精度有关,不能大于LU per load revolutions(Encoder revolutions)的值

Active modulo correction

激活模态,对于电机设定的长度和实际长度从360000LU开始回到0,循环执行。即0-360000再回到0.

选择通讯报文,对于基本定位的报文选择SIEMENS telegram110,PZD-12/7

完成配置。

点击SINAMICS_S120_CU320下Configuration

可以看到会有红色惊叹号,且地址为问号,点击Transfer to HW Config

将配置传送到硬件组态中。点击ACTIVE按钮并将其激活。保存编译。

再返回到SINAMICS_S120_CU320下Configuration画面,可以看到

红色惊叹号变为蓝色的勾,地址也已经分配为256开始的地址。

保存编译整个项目。连线。下载整个项目。

1.5 S7-300中通讯编程

利用SFC14和SFC15读写S120,达到通讯控制S120的目的。

SFC14读,占用7个PZD

在LADDR填写S120硬件地址,256对应16进制即W#16#100

RECORD中填写设定DB地址 P#DB2.DBX0.0 BYTE 14,即从DB2.DBX0.0开始的14个BYTE的地址分配为从S120里读出的PZD值

RET_VAL 返回值 显示故障信息

SFC15写,占用12个PZD

在LADDR填写S120硬件地址,256对应16进制即W#16#100

RECORD中填写设定DB地址 P#DB1.DBX0.0 BYTE 20,即从DB1.DBX0.0开始的20个BYTE的地址分配为向S120里写的PZD值

RET_VAL 返回值 显示故障信息

定义相对应的DB块 DB1 DB2

1.6 基本定位

1.6.1 JOG点动

S120中基本定位功能的点动有两种方式

速度方式:点动按钮按下,轴以设定的速度运行直至按钮释放

位置方式:点动按钮按下并保持,轴以设定的速度运行至目标位置后自动停止

在通过通讯控制S120之前需注意,需将PLC与S120的通讯控制位置1

即将P854 Master ctrl by PLC 参数对应r2090 bit 10,即DB1.DBX0.2

执行点动功能,需先使能S120 ON/OFF1(P840)

打开Drives下Servo_02下Control logic可以看到相关控制字及状态字

可以看到,由于之前选择了报文结构110,已经自动将控制字配置好。

P840 ON/OFF1相对应的是r2090 bit0,即PZD1的bit0

我们已经定义好通过通讯写S120PZD的地址,PZD1 Bit0对应的DB地址即DB1.DBX1.0。

还有P844 bit1 OFF2信号 即r2090 bit1 对应DB1.DBX1.1

P845 bit1 OFF3信号 即r2090 bit2 对应DB1.DBX1.2

P852 Enable operation 即r2090 bit3 对应DB1.DBX1.3

将这些信号都置1.S120使能。

点击Servo_02-Technology-Basic Psitioner-JOG,进入JOG画面

设置点动命令源

Jog1 signals source 即r2090 bit 8 DB1.DBX0.0

Jog2 signals source 即r2090 bit 9 DB1.DBX0.1

点动方式选择 0速度 1位置

Jogging incremental 即r2092 bit5 DB1.DBX5.4

在Analog Signal画面中

Velocity override 即r2050[4] PZD5 DB1.DBW8

此为点动速度的倍率,通过修改其值来改变点动的速度,16进制4000H,10进制16384对应100%

在Configure jog setpoints画面中设置JOG1和JOG2的速度和位置

1.6.2 回零/寻参

点击Servo_02-Technology-Basic Psitioner-Homing,进入Homing画面

Homing又分active homing主动回零和passive homing(on the fly)被动回零.

Active homing

如下图可以看到,主动回零分为三种形式

Homing output cam and encoder zero mark使用接近开关加编码器零位

Encoder zero mark 仅编码器零位

External zero mark 仅外部零标志

最常用的就是接近开关加编码器零位的方式

在homing/configuration

Referencing start r2090 bit11即DB1.DBX0.3 为寻零开始信号

Search for reference,reference cam r2092 bit2 即DB1.DBX5.2即外部接近开关

动作过程

1, 将S120使能,P840 DB1.DBX1.0置1

2, 寻零开始信号置reference startDB1.DBX0.3置1 ,电机开始运行

3, 将外部接近开关信号对应reference cam ,当DB1.DBX5.2为1时,电机减速,搜寻编码器零脉冲,遇到后停止。

寻零结束

当编码器为绝对值编码器时,会看到以下画面

在Home position coordinate中设置坐标值,点击Perform absolute value calibration做编码器校准即可

1.7 基本定位_程序步(Traversing Blocks)

通过使用Traversing Blocks"程序步"模式可自动执行一个完整的定位程序,也可实现单步控制;但只有当前程序步执行完后下一个程序步才有效。

在S120中提供了最多64个程序步供使用。

1.7.1 程序步设置

点击Servo_02-Technology-Basic Positioner-Traversing Blocks,进入画面

进入程序块设置画面,对于程序步有特定的数据结构,如下图

P2616 (No.) 每个程序步都要有一个任务号,运行时依此任务号顺序执行(-1表示无效的任务)

P2621 (Job) 表示该程序步的任务。可选择:Positioning(位置方式)、Endless_Pos/Endless_Neg(正、反向速度方式)、Waiting(等待指定的时间)Goto(跳转到指定的程序步)Set_0/Reset_0(置位/复位指定的开关量输出点)

P2622(Parameter)依赖于不同的Job,对应不同的Job有不同的意思

P2023.8/9(Mode)定义定位方式,仅当任务(Job)为位置方式(Position)时有效

P2617/P2618/P2619/P2620(Position,Velocity,Acceleration,Deceleration)指定运动的位置,速度,加减速

P2623.4/5/6 (Advance)制定本任务结束方式。

END:本任务结束不连续执行下一任务,Continue_With_Stop:本任务结束准确定位,电机停止后重新启动开始下一任务。Continue_Flying:本任务结束连续执行下一任务。

1.7.2 程序步示例 如上图

第1步,以速度600,加减速100%,走绝对定位位置1000,本任务结束连续执行下一任务

第2步,以速度600,加减速100%,走相对定位-500,本任务结束准确定位后开始下一任务

第3步,Goto 1,回到第1步,循环执行。

1.7.3 程序步执行

1.选择不拒绝任务reject traversing task和没有停止命令

P2641=r2090 bit4 即DB1.DBX1.4

P2640=r2090 bit5 即DB1.DBX1.5 都置1

2.选择 程序步选择位Traversing block selection bit

P2625=r2091 bit0 即DB1.DBX3.0 置1

3.使能S120

P840=r2090 bit0 即DB1.DBX1.0 置1

4.激活程序步Active traversing task(上升沿信号)

P2631=r2090 bit6 即DB1.DBX1.6 置1

之后即按照之前程序步中设置的运行。

1.8 Direct setponit specification/MDI(直接设定点输入方式/手动数据设定方式)

1.8.1 MDI有两种不同模式

位置(position)模式P2653=0

手动定位或称速度模式(setting up)P2653=1这两种模式可在线切换

速度模式是指轴按照设定的速度及加减速运行,不考虑轴的实际位置。

位置模式是指轴按照设定的位置、速度、加减速运行;

位置模式又可分为绝对位置(P2648=1)和相对位置(P2648=0)两种方式

1.8.2 MDI 执行步骤

1.使能S120

P840=r2090 bit0 即DB1.DBX1.0 置1

2. direct setpoint input/MDI selection 选择MDI模式

P2647=r2091 bit 15 即DB1.DBX2.7 置1

3.选择不拒绝任务reject traversing task和没有停止命令

P2641=r2090 bit4 即DB1.DBX1.4

P2640=r2090 bit5 即DB1.DBX1.5 都置1

4.设置MDI位置速度加减速参数

4.1 Velocity override 速度倍率

P2646=r2050[4],即DB1.DBW8 W#16#4000对应100%

4.2 Direct setpoint input/MDI position MDI位置

P2642=r2060[5],即DB1.DBD10

4.3 Direct setpoint input/MDI velocity MDI速度

P2643=r2060[7],即DB1.DBD14

4.4 Direct setpoint input/MDI acceleration MDI加速度

P2644=r2050[9],即DB1.DBW18 W#16#4000对应100%

4.5 Direct setpoint input/MDI acceleration MDI加速度

P2644=r2050[9],即DB1.DBW18 W#16#4000对应100%

4.6 Direct setpoint input/MDI deceleration MDI减速度

P2645=r2050[10],即DB1.DBW20 W#16#4000对应100%

4.7 Direct setpoint input/MDI mode MDI位置模式(相对/绝对)

P2654=r2050[11],即DB1.DBW22

Signal via CI: p2654 = xx0x hex -> absolute 绝对位置 Signal via CI: p2654 = xx1x hex -> relative 相对位置 Signal via CI: p2654 = xx2x hex -> abs_pos (only for modulo correction)

绝对位置,正向(仅对模态) Signal via CI: p2654 = xx3x hex -> abs_neg (only for modulo correction)

绝对位置,反向(仅对模态)

5. Setpoint acceptance edge MDI设置接收上升沿信号

P2650=r2090 bit6,即DB1.DBX1.6

置1后即按照之前设定的速度位置开始MDI运行。

相关问答

如何设置plc指令?

如果你的程序里面,置位和复位的代码只是执行一个扫描周期的话,那可以通过PLC的OPCserver软件对你想操作的位进行设置。如果是每个周期都执行,那基本是没有办...

plc定时开关怎么设置?

欧姆龙PLC编程定时器可以通过以下步骤来设置定时开关:可以通过欧姆龙PLC编程来设定定时器时间。设置定时器是欧姆龙PLC编程中常见的操作之一,具有很高的实用...

plc参数设置问题?

编程软件左边“PLC参数”→“内存容量设置”→“注释容量”设置占用程序存储器,最少为500步编程软件左边“PLC参数”→“内存容量设置”→“注释容量”设置...

PLC上PWM怎么调整?

在PLC上调整PWM,需要先确定所使用的PLC的型号及其支持的PWM功能。其次,需要根据所需要的PWM波形的周期和占空比,设置PLC的输出端口的参数。可以通过PLC编程软...

works2plc参数设置?

设置Works2PLC的参数需要在PLC编程软件中进行。通常,PLC编程软件会提供一个参数设置界面,您可以在该界面中设置所需的参数。以下是一些常见的参数设置:...

wincc如何设置输入值的范围?

模拟量的读取转化在程序里一般都是调用子程序(以200PLC为例),然后子程序有3个in输入,AIW输入,外置量程X和偏移值Y。比如温度传感器-50---50度的温度范围,...

plc可编程逻辑控制器的配置设置?

运行PLC编程软件的话,dell或者联想或者HP都可以,不用很高设置,内存最好要2G,最好有串口。PLC(ProgrammableLogicController),是可编程逻辑控制器。它采......

plc调试详细步骤?

回答如下:PLC调试的详细步骤如下:1.准备工作:确认所需的调试工具和设备已准备好,并确保PLC系统的硬件连接正确。2.读取和理解PLC程序:仔细阅读PLC程序,...

PLC量程转换?

程序当中倒是可以做这个转换,以你的变送器输出4-20mA为例,4mA对应0.8,对应到PLC内部数字量为6400。20mA对应8,PLC中对应32000。所以你可以在程序中给变送器的...

PLC模拟量的编程?

PLC(ProgrammableLogicController,可编程逻辑控制器)的模拟量编程主要涉及以下几个方面:1.确定信号类型和传感器:在PLC编程中,应该确定使用哪种类型...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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