西门子程序说明.docx
《西门子程序说明.docx》由会员分享,可在线阅读,更多相关《西门子程序说明.docx(14页珍藏版)》请在冰豆网上搜索。
西门子程序说明
位变量区定义:
1.开关量输出:
Q0.0-Q99.7(最多按800点考虑)
2.机组命令区:
M0.0-M7.7(64个);
3.中间变量区:
M8.0-M57.7(占用400个位变量)
4.虚拟扫查区:
M58.0-M137.7(640个位变量);
5.PLC综合信息区:
M138.0-M217.7(640个位变量);
6.PLC命令区:
M218.0-M509.7,共占用2336个位变量;
7.一般设备操作:
按160个设备考虑,每个设备3种操作(故障复归/退出/投入),共占用480个位变量:
M218.0-M277.7
8.隔离开关操作:
按128个隔离开关考虑,每个隔离开关5种操作(故障复归/分/合/试验分/试验合),共占用640个位变量:
M278.0-M357.7
9.断路器操作:
按32个断路器考虑,每个断路器按16种操作属性考虑,共占用512个位变量:
M358.0-M421.7
10.闸门命令:
按32个闸门考虑,每个闸门按16种操作属性考虑,共占用512个位变量:
M422.0-M485.7。
11.主变抽头控制操作:
按16个主变考虑,每个主变按8种操作属性考虑,共占用128个位变量:
M486.0-M501.7。
12.LCU设备运行方式设置:
按16个设备考虑,每设备按4种操作属性考虑,共占用64个位变量:
M502.0-M509.7。
13.开关量输出强制状态:
共占用800个位变量;其中M520.0-M619.7为强制状态、M620.0-M719.7为强制合分、M720.0-M819.7为编程所用输出状态,也可以定义数组结构的方式实现。
14.开关量输入强制状态:
共占用2800个位变量;其中M820.0-M1169.7为强制状态、M1170.0-M1519.7为强制合分、M1520.0-M1869.7为编程所用输入状态,,也可以定义数组结构的方式实现。
15.SOE量输入强制状态:
共占用320个位变量;其中M1870.0-M1909.7为强制状态、M1910.0-M1949.7为强制合分、M1950.0-M1989.7为编程所用输入状态,也可以定义数组结构的方式实现。
16.模拟量通道故障:
共占用480个位变量;M1990.0-M2049.7
17、模拟量输入强制处理:
共占用400个WORD变量,其中DB17.DBW0—DBW798为编程所用的模拟量,DB17.DBW800—DBW1598为强制量;M2100.0—2149.7为强制状态。
18、时间变量T,前T1—200已经被命令复归占用,开停机从T201开始。
字变量区定义
1.DB1:
命令接收区(地址范围是DB1.DBW0-DB1.DBW238)
2.DB2:
初始化数据区(DB2.DBW0—DB2.DBW120),数据区A
触摸屏使用为施奈德的时间定义如下:
年:
DB2.DBW140;月:
DB2.DBW142
日:
DB2.DBW144;小时:
DB2.DBW146
分:
DB2.DBW148秒:
DB2.DBW150
3.DB3:
扫查数据数据区(第一个模拟量起始地址:
DB3.DBW0,实时数据上送区,预留500字,DB3.DBW0—DB3.DBW1000),包括数据区B、C、D
4.DB4:
SOE报警数据区(DB4.DBW0-DB4.DBW2800,预留1400字)
5.DB5:
扫查开关量位图数据区(DB5.DBW0-DB5.DBW1800,实时位图数据上送区,预留900字),数据区E
6.DB6:
定值上送数据区(DB6.DBW0-DB6.DBW1000,预留500字)
7.DB7:
设备功能块数据区(DB7.DBW0-DB7.DBW900,每功能块占用3个字,预留300个设备功能块),数据区F
8.DB8:
设备对象数据变化上送数据(DB8.DBW0-DB8.DBW1600,每个数据占用8个字,预留100个)
9.DB9:
数据下传区(DB9.DBW0-DB9.DBW200,预留100个)
10.DB10:
闸门控制调节区(DB10.DBW0-DB10.DBW64,32个闸门)
DB10.DBW0:
闸门开度调节死区。
DB10.DBW34:
闸门17开度目标值。
DB10.DBW2:
闸门1开度目标值。
DB10.DBW36:
闸门18开度目标值。
DB10.DBW4:
闸门2开度目标值。
DB10.DBW38:
闸门19开度目标值。
DB10.DBW6:
闸门3开度目标值。
DB10.DBW40:
闸门20开度目标值。
DB10.DBW8:
闸门4开度目标值。
DB10.DBW42:
闸门21开度目标值。
DB10.DBW10:
闸门5开度目标值。
DB10.DBW44:
闸门22开度目标值。
DB10.DBW12:
闸门6开度目标值。
DB10.DBW46:
闸门23开度目标值。
DB10.DBW14:
闸门7开度目标值。
DB10.DBW48:
闸门24开度目标值。
DB10.DBW16:
闸门8开度目标值。
DB10.DBW50:
闸门25开度目标值。
DB10.DBW18:
闸门9开度目标值。
DB10.DBW52:
闸门26开度目标值。
DB10.DBW20:
闸门10开度目标值。
DB10.DBW54:
闸门27开度目标值。
DB10.DBW22:
闸门11开度目标值。
DB10.DBW56:
闸门28开度目标值。
DB10.DBW24:
闸门12开度目标值。
DB10.DBW58:
闸门29开度目标值。
DB10.DBW26:
闸门13开度目标值。
DB10.DBW60:
闸门30开度目标值。
DB10.DBW28:
闸门14开度目标值。
DB10.DBW62:
闸门31开度目标值。
DB10.DBW30:
闸门15开度目标值。
DB10.DBW64:
闸门32开度目标值。
DB10.DBW32:
闸门16开度目标值。
11.DB11:
有功调节数据及参数区(DB11.DBW0-DB11.DBW100)
12.DB12:
无功调节数据及参数区(DB12.DBW0-DB12.DBW100)
13.DB13:
通讯接收区(DB13.DBW0-DB13.DBW100)
14.DB14:
处理上位机及PLC对时数据区(DB14.DBW0-DB14.DBW100)
15.DB15:
NTP时间记录区(DB15.DBW0-DB15.DBW100)(没有使用)
16.DB16:
触摸屏数据区,触摸屏读模拟量和温度量需先将其移到DB16区。
并从DB16.DBW200开始。
触摸屏使用为PROFACE的时间定义如下:
年:
DB16.DBW60月:
DB16.DBW62
日:
DB16.DBW64小时:
DB16.DBW66
分:
DB16.DBW68秒:
DB16.DBW70
对时标志位:
DB16.DBX50.0
17.DB17:
处理模拟量强制缓冲区
18.DB18:
读取cpu信息(即综合信息)
19.DB19:
开入量数据交换区(不用修改)
20.DB21:
读取第一块扩展底板SOE模块数据存储区
21.DB22:
读取第二块扩展底板SOE模块数据存储区
22.DB23:
读取第三块扩展底板SOE模块数据存储区
23.DB24:
读取第四块扩展底板SOE模块数据存储区
24.DB26:
高速计数模块方式的脉冲量处理后存放的数据
25.DB27:
读取高速计数模块第一块脉冲量模块数据存储区
26.DB28:
读取高速计数模块第二块脉冲量模块数据存储区
27.DB31:
读取第一块扩展底板ET200M模块信息存储区(也是综合信息)
28.DB32:
读取第二块扩展底板ET200M模块信息存储区(也是综合信息)
29.DB33:
读取第三块扩展底板ET200M模块信息存储区(也是综合信息)
30.DB34:
读取第四块扩展底板ET200M模块信息存储区(也是综合信息)
31.DB35:
读取第五块扩展底板ET200M模块信息存储区(也是综合信息)
32.DB36:
读取第6块扩展底板ET200M模块信息存储区(也是综合信息)
33.DB37:
读取第7块扩展底板ET200M模块信息存储区(也是综合信息)
34.DB38:
读取第8块扩展底板ET200M模块信息存储区(也是综合信息)
35.DB39:
读取第9块扩展底板ET200M模块信息存储区(也是综合信息)
36.DB40:
读取第10块扩展底板ET200M模块信息存储区(也是综合信息)
37.DB41:
通讯模拟量上送区,需要将DB13的有关通讯模拟量依次送到本区(从零开始),使用FC169.(不用修改)
38.DB42:
通讯开入量上送区,需要将DB13的有关开入模拟量依次送到本区(从零开始),使用FC169.(不用修改)
39.DB43:
读取第11块扩展底板ET200M模块信息存储区(也是综合信息)
40.DB44:
读取第12块扩展底板ET200M模块信息存储区(也是综合信息)
41.DB45:
读取第13块扩展底板ET200M模块信息存储区(也是综合信息)
42.DB46:
读取第14块扩展底板ET200M模块信息存储区(也是综合信息)
43.DB47:
读取第15块扩展底板ET200M模块信息存储区(也是综合信息)
44.DB48:
读取第16块扩展底板ET200M模块信息存储区(也是综合信息)
45.DB49:
读取第5块扩展底板SOE模块数据存储区
46.DB50:
读取第6块扩展底板SOE模块数据存储区
47.DB51:
读取第7块扩展底板SOE模块数据存储区
48.DB52:
读取第8块扩展底板SOE模块数据存储区
49.DB56:
计算模拟量上送区,从db56.sbw0开始.
50.DB57:
通讯脉冲量上送区,需要将DB13的有关脉冲模拟量依次送到本区(从零开始),使用FC169.(不用修改)
FC功能块说明
1、FC160:
对DB2数据进行初始化。
需要对其参数进行修改。
2、FC161:
有功调节
3、FC162:
无功调节
4、FC163:
并网时、停机时调用启动调节有无功
5、FC164:
对一个字进行高低字节互换
6、FC165:
一般设备命令复归
7、FC166:
隔离开关命令复归
8、FC167:
断路器命令复归
9、FC168:
调用SOE功能块
10、FC169:
将通讯上来的DB13数据处理给上送各DB块
因此需要在OB1里调用功能块FC169将DB13的通讯模拟量送到DB41里,从0地址一次排序;同样通讯开入量送到DB42里,同样通讯脉冲量送到DB57里,
11、FC170:
高低位互换
12、FC171:
命令分析
13、FC172――FC175:
变量强制处理(暂没用)
14、FC176:
将通讯脉冲量DB57送到DB区
15、FC177:
模拟量通道故障
16、FC178:
将模拟量(IW)送到DB块里
17、FC179:
调用处理高速计数的脉冲量模块1数据,并将脉冲量放到DB27
18、FC180:
调用处理高速计数的脉冲量模块2数据,并将脉冲量放到DB28
19、FC181:
调用处理soe模块数据,并将soe信息放到相应的DB块
20、FC183:
读ET200M信息
21、FC184:
读cpu信息
22、FC185:
读cpu时间
23、FC186:
将I变量送给DB块
24、FC187:
将M变量送给DB块
25、FC188:
将Q变量送给DB块
26、FC189:
将脉冲量PI变量送给DB块
27、FC190:
清零功能
28、FC191:
将DB3里模拟量数据上送给上位机
29、FC192:
将DB5里开入量数据上送给上位机
30、FC193:
将通讯模拟量DB41送到DB区
31、FC194:
将通讯开入量DB42送到DB区
32、FC195:
处理上位机及PLC对时,在功能块FC171调用过
33、FC196:
将模出量(QW)送到DB块里
34、FC197:
将计算模拟量DB56送到DB区
35、FC201—FC205为开停机流程需要修改。
部分功能详细说明
1、各种数据量的点数定义
调用FC160,修改各种数据量的点数参数、ID号。
(特别注意:
点数必须是16倍数)
发电态
实采模拟量输入个数
计算模拟量输入个数
通讯模拟量个数
温度量个数
脉冲量个数
通讯脉冲量个数
模拟量输出个数
中断量个数
综合信息个数
开出个数
实采开入量个数
计算开入量个数
通讯开入量个数
LCU的设备号
2、
SOE处理:
A、在主程序中调用FC168
Slot_num:
有SOE模块的ETM200底板数量。
Slot1_no:
带有soe模块ETM200底板的扩展底板号(扩展底板号从1开始排序)
Slot1_soe_num:
带有soe模块ETM200底板上的SOE数量。
Slot1_laddr:
带有soe模块ETM200底板的逻辑地址。
Slot1_laddr2:
带有soe模块ETM200底板2的逻辑地址。
Slot1、2、3.。
。
:
依顺序往下设置SOE参数,
B、在OB40程序段中,每一个有soe模块的ETM200底板都需要调用FB62功能块一次。
Soe1data的DB块依次类推,soe2data、soe3data。
laddr:
该底板的逻辑地址
3、Et200综合信息处理
调用FC183,需要修改相应参数。
Slot_num:
ETM200底板数量;Slot1_addr:
ETM200底板的逻辑地址
4、功率调节设置
以有功功率调节为例(无功调节方式也一样),有功功率调节调用FC161功能块,无功调节调用FC162功能块。
P_max:
有功设定最大值,对应的范围为0--27648
P_min:
有功设定最小值,对应的范围为0--27648
P_deadgiven:
有功死区(有功差值小于死区,调功停止)
P_factor:
有功系数
P_time_max_10ms:
有功调节最大脉宽,单位为10ms,若260为2600ms。
P_time_min_10ms:
有功调节最辛脉宽,单位为10ms,若30为300ms。
P_field:
实际有功功率值,对应的范围为0--27648。
P_circle_time:
有功调节周期,如果没有调节到位,但调节时间到了,就停止调节并报超时(p_timeout)。
S5T#3M:
表示为3分钟时间。
P_pause_time:
两个脉宽之间时间,S5T#4S:
表示为4秒钟时间。
P_step_time:
单步调节的脉宽,S5T#500MS:
表示为500毫秒时间
调节计算脉宽时间(单位为10ms)=(实际有功功率-上微机发的有功功率)的绝对值除以有功系数
因此:
真正调节出口脉宽时间在有功调节最大脉宽和有功调节最小脉宽之间。
其计算出的脉宽时间也差不多在这个范围。
一般来说,有功系数越大,调节计算脉宽时间越小,调节时间越长,调节更稳。
所以调功系数设定很关键。
5、
开停机时调节有无功处理
调用FC163。
在开机时,有时需要将有功或无功带一定的初始负荷,需要调用此功能块;在发停机令时,需要将将有功或无功减到零,需要调用此功能块。
如果需要启动有功调节:
将p_start设为1,否则为0,同时设定有功给定值(P-given),此值为0――27648之间值,并不是实际给定有功值。
对无功调节也是同样处理。
6、通讯模拟量处理
通过MOXAUC通讯机读过来的数据均存放在DB13里,因此对于通讯模拟量来说,需要将DB13的通讯模拟量依次排序移到DB41(从零开始)区里。
举例如下图,从通讯机送给PLC的交流采样的数据存放在DB13.DBW0—DBW38,励磁模拟量存放在DB13.DBW672—DBW684。
在上位机数据库里,通讯模拟量先是交流采样,接下来为励磁模拟量。
故第一个功能块需要移到DB41.DBW0—DBW38;
如下图,从通讯机送给PLC的交流采样的数据存放在DB13.DBW0—DBW38,励磁模拟量存放在DB13.DBW672—DBW684。
在上位机数据库里,通讯模拟量先是交流采样,接下来为励磁模拟量。
需要移到DB41.DBW0—DBW38;