西门子模块6ES7235-0KD22-0XA8优质产品
PLC内部掉电保持寄存器的方法
PLC控制系统
咱们在规划小型的PLC控制系统时,常常会需求在外部改动PLC内部的数据,譬如Counter,Timer或许Data的值,以习惯生产过程的需求。并且要求系统关机今后,这些数据还能够保存在PLC内部,当下次开机后,这些数据能够被调出继续运用。
现在许多小型的PLC都或多或少地供给了掉电坚持寄存器,以便在PLC断电的时候,保存用户想要保存的数据。但大多数时候,PLC制造厂商为了节约本钱,不可能供给足够数的掉电坚持寄存器供系统规划人员运用,所以当被调整的数据项目超过PLC内部的掉电坚持寄存器的数目的时候,咱们不得不减少被调整的数据项目(固定或不用)或许购买具有更多掉电坚持寄存器数目的PLC,这样的话,就使得生产机械缺乏灵活性和习惯性,从而下降产品层次或添加本钱。
下面就介绍解决这种问题的一种办法,以便咱们规划时参考。
所用PLC:松下FP0-C16T,被调整数据有16个,PLC内部掉电坚持寄存器数目为10个,其中8个数据寄存器(DT1652-DT1659:8个各16Bit)和2个字的内部继电器(WR61、WR62:2个各16Bit)。假如按常规的一个被调整数据占用一个数据寄存器的办法,这显然不能调整16个被调整数据,而只能调整10个被调整数据。为此,自己专门分析了16个被调整数据的数据调整范围,发现多数数据的调整范围只需求从0~255,即0~28-1;而掉电坚持数据寄存器DT1652等内部的数据巨细为216-1,即256×256-1;所以咱们能够将一个被调整的数据只用到数据寄存器的低8位,那么该数据寄存器的高8位就能够来存储另一个被调整数据。
下面就列出该部分的程序:
(1)开机时,分隔掉电坚持寄存器中高8位和低8位至别的两个数据寄存器:
其中,R9013是松下FP0系列PLC内部所规定的、在PLC从program状况到run状况时只动作一个PLC扫描周期的脉冲继电器。指令F65是一个字与指令,它的效果就是将掉电坚持数据寄存器DT1655内的数据与十六进制数FF进行字与,然后将结果送到一般数据寄存器DT0,这样就能够分离出掉电坚持数据寄存器DT1655内数据的低8位;相同第二行的字与指令能够分离出掉电坚持数据寄存器DT1655内数据的高8位。
指令F120是一个不带进位右移指令,即:对数据字进行右移时,对高位进行补零。K8表明右移8位。指令F0是一个字传送指令,就是将一般数据寄存器DT10内的数据传送到一般数据寄存器DT1。上述程序段的目的就是在开机时将掉电坚持数据寄存器DT1655内的数据分红两个被调整数据。
(2)开机之后,将别的两个数据寄存器的数据合并至掉电坚持寄存器的高8位和低8位:
R9014是系列PLC内部所规定的、在PLC从program状况到run状况时、第二个PLC扫描周期开始动作的脉冲继电器。指令F121是一个不带进位左移指令,K8即左移8位。指令F66是一个字或指令,将一般数据寄存器DT20内的数据与一般数据寄存器DT0内的数据进行字或,结果送掉电坚持寄存器DT1655。由上能够看出,在PLC运行的时候,能够任意改动一般数据寄存器DT0和DT1中的数据,而这些改动也同时送到了掉电坚持寄存器DT1655,这样,当PLC掉电时,所被调整的数据也就被保存了。
经过相同的办法,咱们能够视被调整数据的巨细,灵活的运用掉电坚持寄存器的每一个Bit位,从而使咱们在不添加本钱的情况下,进步小型PLC控制系统的功能。
丰富的通信端口,集成强大的以太网通信
西门子S7-200 SMART CPU 支持常用MicroSD卡(支持容量为4G,8G,16G,2G容量和 32G容量不支持 ):可用于程序传输,CPU固件更新,恢复 CPU 出厂设置。但要注意存储卡需要采用FAT32文件系统格式。
1、使用 MicroSD 卡传送程序
步骤一:用户在 CPU 上电且停止状态下插入存储卡;
注意:存储卡要用空卡,否则可能会更改 CPU 固件或者是内部存储的项目。
步骤二:下载源程序到CPU;
步骤三:在 Micro/WIN SMART 中,点击“PLC"->“编程存储卡" ,打开“编程存储卡"对话框,选择需要被拷贝到存储卡上的块,点击“编程"按钮;
步骤四:显示编程操作成功执行时从CPU上取下存储卡;
步骤五:将该MICROSD卡插入需要传送程序的CPU,上电后即可完成程序传送。
2、使用 MicroSD 卡更新固件
步骤一:用普通读卡器将固件文件“S7_JOB.S7S"和文件夹“FWUPDATE.S7S"拷贝到卡上;
步骤二:在 CPU 断电状态下将包含固件文件的存储卡插入 CPU ;
步骤三:给 CPU 上电,CPU 会自动识别存储卡为固件更新卡并且自动更新 CPU 固件。更新过程中RUN 指示灯和 STOP 指示灯以 2 HZ 的频率交替点亮。
步骤四:当 CPU 只有 STOP 灯开始闪烁,表示“固件更新"操作成功,从 CPU 上取下存储卡。
步骤五:给 CPU 重新上电,在 Micro/WIN SMART 中查看CPU固件版本;
3、恢复出厂设置
步骤一:使用Windows 系统自带的记事本软件创建一个只包含一行字符串“RESET_TO_FACTORY"的简单文本文件,保存为为 “S7_JOB.S7S";
步骤二:在 CPU 断电状态下插入 MicroSD 卡,给 CPU 上电,CPU 会自动识别存储卡为恢复出厂设置卡并且自动恢复 CPU 出厂设置。
步骤三:当 CPU 只有 STOP 灯开始闪烁,表示“恢复出厂设置"操作成功。
PWM 和运动控制向导设置
为了简化您应用程序中位控功能的使用,STEP7- Micro/WIN SMART 提供的位控向导可以帮助您在几分钟内全部完成PWM、PTO 的组态。该向导可以生成位控指令,您可以用这些指令在您的应用程序中对速度和位置进行动态控制。
PWM 向导设置根据用户选择的PWM 脉冲个数,生成相应的PWMx_R UN 子程序框架用于编辑。
运动控制向导多提供3 轴脉冲输出的设置,脉冲输出速度从2 0 H z 到1 0 0 k H z 可调。
运动控制功能特点
o 提供可组态的测量系统,输入数据时既可以使用工程单位(如英寸或厘米),也可以使用脉冲数
o 提供可组态的反冲补偿
o 支持对、相对和手动位控模式
o 支持连续操作
o 提供多达32 组运动动包络,每组包络多可设置16 种速度
o 提供4 种不同的参考点寻找模式,每种模式都可对起始的寻找方向和终的接近方向进行选择
北京西门子代理商一级代理
算还能进行复杂的矩阵运算。它不仅可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控。
西门子大型机有S7-400 :处理速度0.3ms / 1k字;
存贮器512k ;I/O点12672;
控制性能
可以分为机、中档机和低档机。
低档机
这类可编程序控制器,具有基本的控制功能和一般的运算能力。工作速度比较低,能带的输入和输出模块的数量比较少。
比如,德国SIEMENS公司生产的S7-200就属于这一类。
中档机
这类可编程序控制器,具有较强的控制功能和较强的运算能力。它不仅能完成一般的逻辑运算,也能完成比较复杂的三角函数、指数和PID运算。工作速度比较快,能带的输入输出模块的数量也比较多,输入和输出模块的种类也比较多。
比如,德国SIEMENS公司生产的S7-300就属于这一类。
机
这类可编程序控制器,具有强大的控制功能和强大的运算能力。它不仅能完成逻辑运算、三角函数运算、指数运算和PID运算,还能进行复杂的矩阵运算。工作速度很快,能带的输入输出模块的数量很多,输入和输出模块的种类也很全面。这类可编程序控制器可以完成规模很大的控制任务。在联网中一般做主站使用。
用户通过IM153模块,可以灵活配置控制系统,以便适合不同工艺的需求。在实际工程项目中,有时会遇到IM153模块的操作系统需要更新的情况。本文下面就来对这种更新方法做一个介绍,供用户在实际操作中进行参考。
西门子PLC模块IM153操作系统更新,说明其操作系统更新的方法:
1. 通过编程软件STEP7的硬件组态来实现在线固件更新
(1)根据IM153-2控制系统的固件版本,下载所需的固件文件;
(2)将下载后的固件文件解压缩;
(3)在硬件组态中选择系统中应用的分布式I/O从站;
(4)在编程软件STEP7的程序菜单中选择“目标系统->升级固件"来对固件进行编程;
(5)在对话框中选定固件文件所在的目录并进行固件下载。
2. 使用编程软件STEP7在线更新固件:
(1)根据IM153-2控制系统的固件版本,下载所需的固件文件;
(2)将下载后的固件文件进行解压缩;
(3)将包含有编程软件的电脑连接到分布式I/O从站所在的线路中;
(4)在STEP7编程软件中打开“访问节点"视图,然后选择站地址;
(5)在编程软件STEP7的程序菜单中选择“目标系统->PROFIBUS->升级固件"来编程固件。
西门子PLC系列在各种自动化控制系统中都有广泛应用,如果用户需要使用分布式I/O来对系统进行扩展以实现更多功能时,遇到IM153模块的操作系统升级的相关问题,可以参照本文提供的方法进行操作。
西门子SFC和SFB简单介绍
编号
名称缩写
功能
SFC0
SET_CLK
设系统时钟
SFC1
READ_CLK
读系统时钟
SFC2
SET_RTM
运行时间定时器设定
SFC3
CTRL_RTM
运行时间定时器启/停
SFC4
READ_RTM
运行时间定时器读取
SFC5
GADR_LGC
查询模板的逻辑起始地址
SFC6
RD_SINFO
读OB启动信息
SFC7
DP_PRAL
在DP主站上触发硬件中断
SFC9
EN_MSG
使能块相关、符号相关的和组状态的信息
SFC10
DIS_MSG
禁止块相关的、符号相关的和组状态信息
SFC11
DPSYC_FR
同步DP从站组
SFC12
D_ACT_DP
取消和激活DP从站
SFC13
DPNRM_DG
读DP从站的诊断数据(从站诊断)
SFC14
DPRD_DAT
读标准DP从站的连续数据
SFC15
DPWR_DAT
写标准DP从站的连续数据
SFC17
ALARM_SQ
生成可确认的块相关信息
SFC18
ALARM_S
生成恒定可确认的块相关信息
SFC19
ALARM_SC
查询后的LAARM_SQ到来的事件信息的应答状态
SFC20
BLKMOV
拷贝变量
SFC21
FILL
初始化存储区
SFC22
CREAT_DB
生成DB
SFC23
DEL_DB
删除DB
SFC24
TEST_DB
测试DB
SFC25
COMPRESS
压缩用户内存
SFC26
UPDAT_PI
刷新过程映像输入表
SFC27
UPDAT_PO
刷新过程映像输出表
SFC28
SET_TINT
设置日时钟中断
SFC29
CAN_TINT
取消日时钟中断
SFC30
ACT_TINT
激活日时钟中断
SFC31
QRY_TINT
查询日时钟中断
SFC32
SRT_DINT
启动延时中断
SFC33
CAN_DINT
取消延时中断
SFC34
QRY_DINT
查询延时中断
SFC35
MP_ALM
触发多CPU中断
SFC36
MSK_FLT
屏蔽同步故障
SFC37
DMSK_FLT
解除同步故障屏蔽
SFC38
READ_ERR
读故障寄存器
SFC39
DIS_IRT
禁止新中断和非同步故障
SFC40
EN_IRT
使能新中断和非同步故障
SFC41
DIS_AIRT
延迟高优先级中断和非同步故障
SFC42
EN_AIRT
使能高优先级中断和非同步故障
SFC43
RE_TRIGR
再触发循环时间监控
SFC44
REPL_VAL
传送替代值到累加器1
SFC46
STP
使CPU进入停机状态
SFC47
WAIT
延迟用户程序的执行
SFC48
SNC_RTCB
同步子时钟
SFC49
LGC_GADR
查询一个逻辑地址的模块槽位的属性
SFC50
RD_LGADR
查询一个模块的全部逻辑地址
SFC51
RDSYSST
读系统状态表或部分表
SFC52
WR_USMSG
向诊断缓冲区写用户定义的诊断事件
SFC54
RD_PARM
读取定义参数
SFC55
WR_PARM
写动态参数
SFC56
WR_DPARM
写默认参数
SFC57
PARM_MOD
为模块指派参数
SFC58
WR_REC
写数据记录
SFC59
RD_REC
读数据记录
SFC60
GD_SND
全局数据包发送
SFC61
GD_RCV
全局数据包接收
SFC62
CONTROL
查询通讯的连接状态
SFC63
AB_CALL
汇编代码块
SFC64
TIME_TCK
读系统时间
SFC65
X_SEND
向本地S7站之外的通讯伙伴发送数据
SFC66
X_RCV
接收本地S7站之外的通讯伙伴发送的数据
SFC67
X_GET
读取本地S7站之外的通讯伙伴的数据
SFC68
X_PUT
写数据到本地S7站之外的通讯伙伴
SFC69
X_ABORT
中断与本地S7站之外的通讯伙伴已建立的连接
SFC72
I_GET
读取本地S7站内的通讯伙伴的数据
SFC73
I_PUT
写数据到本地S7站内的通讯伙伴
SFC74
I_ABORT
中断现与本地S7站内的通讯伙伴已建立的连接
SFC78
OB_RT
确定OB的程序运行时间
SFC79
SET
置位输出范围
SFC80
RSET
复位输出范围
SFC81
UBLKMOV
不间断拷贝变量
SFC82
CREA_DBL
在装载存储器中生成DB块
SFC83
READ_DBL
读装载存储器中的DB块
SFC84
WRIT_DBL
写装载存储器中的DB块
SFC87
C_DIAG
实际连接状态的诊断
SFC90
H_CTRL
H系统中的控制操作
SFC100
SET_CLKS
设日期时间和日期时间状态
SFC101
RTM
运行时间记时器
SFC102
RD_DPARA
读取预定义参数(重新定义参数)
SFC103
DP_TOPOL
识别DP主系统中总线的拓扑
SFC104
CiR
控制CiR
SFC105
READ_SI
读取动态系统资源
SFC106
DEL_SI
删除动态系统资源
SFC107
ALARM_DQ
生成可确认的块相关信息
SFC108
ALARM_D
生成恒定可确认的块相关信息
SFC126
SYNC_PI
同步刷新过程映像区输入表
SFC127
SYNC_PO
同步刷新过程映像区输出表
SFC63“AB_CALL"仅在CPU614中存在。详细说明可参考相应的手册
SFB块
编号
名称缩写
功能
SFB0
CTU
加大记数
SFB1
CTD
减记数
SFB2
CTUD
加/减记数
SFB3
TP
定时脉冲
SFB4
TON
延时接通
SFB5
TOF
延时断开
SFB8
USEND
非协调数据发送
SFB9
URCV
非协调数据接收
SFB12
BSEND
段数据发送
SFB13
BRCV
段数据接收
SFB14
GET
向远程CPU写数据
SFB15
PUT
从远程CPU读数据
SFB16
向打印机发送数据
SFB19
START
在远程装置上实施暖启动或冷启动
SFB20
STOP
将远程装置变为停止状态
SFB21
RESUME
在远程装置上实施暖启动
SFB22
STATUS
查询远程装置的状态
SFB23
USTATUS
接收远程装置的状态
SFB29
HS_COUNT
计数器(高速计数器,集成功能)
SFB30
FREQ_MES
频率计(频率计,集成功能)
SFB31
NOTIFY_8P
生成不带确认显示的块相关信息
SFB32
DRUM
执行顺序器
SFB33
ALARM
生成带确认显示的块相关信息
SFB34
ALARM_8
生成不带8个信号值的块相关信息
SFB35
ALARM_8P
生成带8个信号值的块相关信息
SFB36
NOTIFY
生成不带确认显示的块相关信息
SFB37
AR_SEND
发送归档数据
SFB38
HSC_A_B
计数器A/B转换
SFB39
POS
定位(集成功能)
SFB41
CONT_C
连续调节器
SFB42
CONT_S
步进调节器
SFB43
PULSEGEN
脉冲发生器
SFB44
ANALOG
带模拟输出的定位
SFB46
DIGITAL
带数字输出的定位
SFB47
COUNT
计数器控制
SFB48
FREQUENC
频率计控制
SFB49
PULSE
脉冲宽度控制
SFB52
RDREC
读来自DP从站的数据记录
SFB53
WRREC
向DP从站写数据记录
SFB54
RALRM
接收来自DP从站的数据记录
SFB60
SEND_PTP
发送数据(ASCⅡ,3964(R))
SFB61
RCV_PTP
接收数据(ASCⅡ,3964(R))
SFB62
RES_RECV
清除接收缓冲区(ASCⅡ,3964(R))
SFB63
SEND_RK
发送数据(RK512)
SFB64
FETCH_RK
获取数据(RK512)
SFB65
SERVE_RK
接收和提供数据数据(RK512)
SFB75
SALRM
向DP从站发送中断
SFB“HS_COUNT"和SFB30“FREQ_MES"仅在CPU312IFM和CPU314IFM中存在。SFB38“HSC_A_B"和39“POS"仅在CPU314IFM中存在
SFB41“CONT_C",SFB42“CONT_S"和SFB43“PULSENGEN"仅在CPU314IFM中存在
SFB44至49和60至65仅在S7-300C CPU中存在