北京利达主机逻辑编程.docx
《北京利达主机逻辑编程.docx》由会员分享,可在线阅读,更多相关《北京利达主机逻辑编程.docx(12页珍藏版)》请在冰豆网上搜索。
![北京利达主机逻辑编程.docx](https://file1.bdocx.com/fileroot1/2023-6/1/c0feac46-9532-43b5-bc48-2ffd2febe376/c0feac46-9532-43b5-bc48-2ffd2febe3761.gif)
北京利达主机逻辑编程
北京利达主机逻辑编程
逻辑编程
每台联动设备启动都依赖着一个条件,由于设备的种类、安装地点、所起作用、设计要求等的千差万别,每个条件都不可能相同。
但对于条件本身来说,它只有两种结果:
真与假。
因此需要构造一种语言,让工程人员在现场环境中把各种功能迥异、繁简不同的条件都包罗且能准确、简明地描述出来。
我们把在现场环境中设置一个联动设备与其它探测器和联动设备的关系,叫做编辑联动逻辑关系表达式,也就是常说的现场编程。
逻辑编写规则注意:
1)先把所有要写的逻辑事先列出;
2)分析每一层或每个区域的逻辑可能占用的逻辑条数;
3)每层联动模块应该写在一起以便查看、核对;
4)逻辑应该先从地下室开始往上写;
5)消防泵、喷淋泵等其他的联动应该写在最高层的逻辑之后。
JB-QB/LD128E(Q)
JB-QG-LD128E(Q)II
JB-QB/LD128E(M)
JB-QB/LD128EN(M)
各功能键用法:
按“→”键:
光标右移。
按“←”键:
光标左移
按“Insert”键:
光标所在位置将插入一个空格。
按“Delete”键:
光标所在位置字符将被删除。
按“↓”键:
光标下移一行。
按“↑”键:
光标上移一行。
按“确定”键(键盘中“Enter”键等于“确定”键):
保存修改后的逻辑。
先按“F1”键,再按“确定”键:
将当前逻辑复制到粘贴板。
先按“F2”键,再按“确定”键:
将粘贴板中的
当控制器进行联网时,回路号大于100的地址表示方法:
用字母代替百位数字
A:
100B:
110C:
120D:
130E:
140F:
150G:
160H:
170I:
180J:
190K:
200L:
210
如:
TH6235为176回路235号探测器
逻辑表达式实例
A.[T00001~T00010]1=M01001=M01002=M01010
此逻辑表达式中有“[ ]n”参与逻辑,其中n=1,表示“[ ]”内任意一个探头同时报火此逻辑满足。
B.T01001*T02015+(T03102*T02110)+R01002=M02001=M02002=M02003
此逻辑表达式中有反馈参与逻辑,但运算符为同级的,即顺序运算即可。
意义为01回路001号探头、02回路015号探头同时报火,或03回路102号探头与02回路110号探头同时报火,或01回路002号模块有反馈时此逻辑满足。
注意:
在书写逻辑时应注意以下几点:
–括号嵌套可达10级,逻辑表达式最长为120个字符。
–所有表达式字符之间不能加空格,表达式最前面也不能加空格。
–“~”:
至符号两端只能跟探头地址,不能跟模块命令地址,也不能跟模块回答地址。
且不能单独形成逻辑,只能用在“[ ]”内。
–“[ ]n”(n≥1)表示任意n个探头报火;“[ ]”,内只支持探测器,并且只能参与“~”和“+”两种逻辑,注意n值必须小于“[ ]”内的探头个数。
–紧急启动必须置于表达式的最前面。
–M,R,!
后面只能跟模块地址。
–当控制器进行联网时,回路号大于100的地址表示方法:
用字母代替百位数字
A:
100B:
110C:
120D:
130E:
140F:
150G:
160H:
170I:
180J:
190K:
200L:
210
如:
TH6235为176回路235号探测器
逻辑表达式实例
A.[T00001~T00010]1=M01001=M01002=M01010
此逻辑表达式中有“[ ]n”参与逻辑,其中n=1,表示“[ ]”内任意一个探头同时报火此逻辑满足。
B.T01001*T02015+(T03102*T02110)+R01002=M02001=M02002=M02003
此逻辑表达式中有反馈参与逻辑,但运算符为同级的,即顺序运算即可。
意义为01回路001号探头、02回路015号探头同时报火,或03回路102号探头与02回路110号探头同时报火,或01回路002号模块有反馈时此逻辑满足。
C.T01012*[T02015+T03102~T03120+T03005]1=M02004=M02005
此逻辑表达式中有“[ ]n”参与逻辑,其中n=1,表示“[ ]”内任意一个报火并且01回路012号探头同时报火此逻辑满足。
D.!
01002+(T01011*T01012)=M03003
此逻辑表达式中有紧急启动参与逻辑,紧急启动多用于钢瓶控制逻辑。
此表达式表示01回路002号模块的回答接紧急启动,相或上01回路011号与01回路012号探头。
注:
如果逻辑表达式语法有错误,会在屏幕左上角显示“1”。
长逻辑的设置
当某设备逻辑过长,一屏写不下时,可将一空设备打开,类型设为借用,将剩余的逻辑写在此设备逻辑中,并将此模块的地址编入原模块的逻辑中。
例:
T00001+M00100=M00111。
公共故障输出的逻辑设置
在LD128E(Q)的V1.16及以后版本中,增加了公共故障输出逻辑,其逻辑为特定逻辑,即:
两个加号“++”。
例:
若使00100号模块为公共故障输出模块,则任选一条空逻辑菜单,输入:
++=M00100手动报警按钮直接启动联动设备
如模块M02002设置为自动,延时30秒启动,假设逻辑表达式1:
T01003*T01005=M02002时,T01003与T01005类型设置为非手报探测类型;逻辑表达式2:
T01004=M02002,T01004类型设置为手动报警按钮类型;当逻辑表达式1先满足,模块进入延时状态,此时逻辑表达式2满足,则M02002直接启动并退出相应延时状态。
JB-QB/LD128E
JB-QB/LD128EⅡ
一、构成的元素
我们知道,一个联动设备的启动有赖于与之相关的探测器的状态和联动设备启动和回答信号。
因此我们构造了四类元素:
探测器、范围、联动启动和联动回答。
有关延时启动已作为专门处理。
1、探测器:
由TXXXXX组成,T是探测器关键字;T后第一、二位数字表示探测器所在的探测回路号(00—P5);T后第三至五位数字表示探测器的地址(000—255)。
例如:
第11回路17号探测器表示为:
T11017,第A4回路202号探测器表示为:
TA4202。
探测器报警后该值为1(真),未报警为0(假)。
新系统中我们还增加了烟温复合型探测器。
对于烟温复合型探测器我们可区分烟报警和温报警,并且这两种火警都可以参与逻辑运算。
对于烟报警同上。
温报警:
由SXXXXX组成,S是关键字,例如:
第15回路18号为烟温复合型探测器,表示:
烟报警为T15018;温报警为S15018。
2、联动启动:
由CXXXXX组成,C是联动启动关键字;C后第一、二位数字表示联动设备所在的探测回路号(00—P5);C后第三至五位数字表示联动模块的地址(000—255)。
例如:
第6回路31号联动模块的启动表示为:
C06031,第F6回路191号联动模块的启动
表示为:
CF6191。
该设备启动后该值为1(真),未启动为0(假)。
3、联动回答:
由LXXXXX组成,L是联动回答关键字;L后第一、二位数字表示联动设备所在的探测回路号(00—P5);L后第三至五位数字表示联动模块的地址(000—255)。
例如:
第2回路0地址联动模块的回答表示为:
C02000,第E3回路15号联动模块的启动表示为:
CE3015。
收到该设备的回答信号后该值为1(真),未收到回答信号为0(假)。
4、范围:
由ZXXXXX组成,Z是范围键字;Z后第一数字表示多少个同类范围的总线设备;Z后第二至五位数字表示的是范围。
例如:
六个范围为1的总路线设备为启动逻辑表示为:
Z60001。
收到该设备的回答信号后该值为1(真),未收到回答信号为0(假)。
5、公共火警:
为了使用灵活,特别增加了FIRE(fire)元素。
当系统任意一个或一个以上探测器报警后该值为1(真),未发生火警(正常)时该值为0(假)。
6、手报火警:
增加了HFIRE(hfire)元素。
当系统任意一个或一个以上手动报警按钮报警后该值为1(真),未报警(正常)时该值为0(假)。
7、消火栓报警:
增加了XFIRE(xfire)元素。
当系统任意一个或一个以上消火栓报警后该值为1(真),未报警(正常)时该值为0(假)。
8、水流指示器报警:
增加了WFIRE(wfire)元素。
当系统任意一个或一个以上水流指示器报警后该值为1(真),未报警(正常)时该值为0(假)。
9、压力开关报警:
增加了PFIRE(pfire)元素。
当系统任意一个或一个以上压力开关报警后该值为1(真),未报警(正常)时该值为0(假)。
二、元素间的逻辑关系运算
一个四则运算表达式不仅包含操作数,还要包含运算符。
结果为一个自然数。
同样,逻辑关系表达式再繁杂也是由这两项组成。
它的运算结果为真或假(1或0)。
我们所说的元素就是操作数,为了构成表达式,还需要构造逻辑运算符。
我们的运算符包括“(、)、|、$、&、—、*、+”。
每种运算符都有优先级,就像四则运算中乘除优先于加减。
注意以下几项:
1、每个表达式用;结束。
2、字符用大、小写书写都可以,但不能混写(例如:
公共火警只能写为FIRE或fire)。
3、元素内不能有空格,元素与运算符之间可加任意空格(也可不加),元素或运算符与结束标志END之间需有一个以上的空格。
4、在有|、$、&运算符的运算中,如果在表达式计算的连续区间内有与其指定运算设备不相同类型的设备时,可以自动跳过。
例如:
T00010|T00025END在表达式中,0回路16号设备为联动控制模块,在对报警类设备的计算中,将自动跳过。
5、每台LD128EII控制器最多可以编写1024条(0~1023)启动逻辑,第1023条是专为声光报警启动逻辑预留的,不能编写其他联动设备的启动逻辑。
逻辑编程:
新增加三个运算符,“~”“,”“#”
例一:
T00001=C01001~C01005;
等于号左边的是启动逻辑,等于号右边的是启动模块的地址,在最后一个模块地址的后面用分号结束。
例一的具体含义是当0回路的1号总线设备报火警时,满足1回路的1号模块、2号模块、3号模块、4号模块、5号模块的逻辑条件。
注:
“~”只能用在模块之间,且“~”两端的模块地址必须是同一回路的。
例二:
T00001=C01001,C01012,C03003,C04004,C05005;
例二的具体含义是当0回路的1号总线设备报火警时,满足1回路的1号模块、1回路12号模块、3回路3号模块、4回路4号模块、5回路5号模块的逻辑条件。
注:
“,”只能用在模块之间,“,”两端的模块地址可以是同一回路的也可以是不同回路的。
例三:
T00001#T01255#T02003=C03001;
例三的具体含义是,当0回路1号探测器、1回路255号探测器、2回路3号探测器任意有两个报火警时,满足3回路的1号模块的逻辑条件。
注:
“#”只能用在探测器之间,“#”两端的探测地址可以是同一回路的也可以是不同回路的。
例四:
T00001=C01001,C01012,C06010~C06100,C03003,C04004,C05005,C05010~C05100;
亦可新增加一个元素,“F”
“F”代表的是逻辑文件
例:
F00001*F00002=C01001;
其具体含义是,当编号为00001的逻辑文件与编号为00002的逻辑文件同时满足,1回路1号模块的逻辑条件满足。
128EⅡ:
Ej:
:
T00100+T00203+T02003|T02067=C00230,C02220~C02224;(联动报警模块)
HFIRE=C00230,C02220~C02224;(联动报警模块)
XFIRE=C00230,C02220~C02224;(联动消防泵)
PFIRE=C00230,C02220~C02224;(联动喷淋泵)
LFIRE=C00230,C02220~C02224;(联动水泵)
1、参照以下实例可加强理解:
(1)某设备在0回路7号探测器报警后满足逻辑条件。
表达式为:
T00007END。
(2)某设备(由1回路003地址模块控制)在1回路0号探测器或同回路2号探测器任意一个报警后满足逻辑条件;另一设备在前设备已启动后并且在1回路101号探测器报警后满足逻辑条件。
表达式分别为:
T01000+T01002END和C01003*T01101END。
(3)某设备在B9回路第022号到同回路036号探测器中有一个报警后满足逻辑条件;另一设备在B4回路第0地址到第3地址安装的所有联动设备启动后满足逻辑条件。
表达式分别为:
TB9022|TB9036END和CB4000&CB4003END。
(4)某设备在05回路第1号到同回路045号探测器中有任意两个报警后满足逻辑条件。
表达式为:
T05001$T05045END。
(5)某设备在0回路0号或同回路1号探测器有一个报警后,如果在同回路10号地址联动模块启动后就不启动,若没启动则本设备满足逻辑条件。
表达式为:
(T00000+T00001)*(—C10000)END(括号在本表达式中也可不要但加上后更明确了逻辑关系)
(6)某卷帘门由15回路10号、11号模块分别控制它的半降和全降。
逻辑关系为同回路20号或21号探测器有一个报警则半下,若全都报警且收到半降的回答信号则全降。
表达式分别为:
T15020+T15021END和(T15020*T15021)*L15010END。
2、联动逻辑编辑后可能会出现错误,通过联动检查程序定位后再进行修改。
(1)T0423+T04111END:
左元素位数不够。
(2)T00021|(T00023*C00010)END:
连或、连与号左右均要求为同类元素,不能是其它运算符。
(3)TP6020&TP6100END:
连或、联与要求起始和结束地址在同驱动板的同回路上,而且结束地址要大于起始地址,但P6回路超过限定。
(4)(—T00010*C00014+(—(C00015+T00011)*T00012)END:
括号不匹配。
(5)还需要特别注意由于输入疏忽或描述的与设计逻辑不一致所造成的错误,这种错误不是普通的语法错误,检查程序不能指出。