Geyang -
Changing the definition of the calc record to this (only the CALC and INPB field are different) will give you the desired result:
record(calc, "$(user):calcExample") { field(DESC, "Counter") field(SCAN,"1 second") field(FLNK, "$(user):aiExample") field(CALC, "A-B>0?A=9?8:A+1:A=0?1:A-1") field(INPA, "$(user):calcExample.VAL NPP NMS") field(INPB, "$(user):calcExample.LA NPP NMS") field(EGU, "Counts") field(HOPR, "10") field(HIHI, "8") field(HIGH, "6") field(LOW, "4") field(LOLO, "2") field(HHSV, "MAJOR") field(HSV, "MINOR") field(LSV, "MINOR") field(LLSV, "MAJOR") }
Ned
On Nov 20, 2008, at 4:57 AM, marco_hair wrote: Dear all:
in the aiExample.db coming with soft ioc template, record(ai, "$(user):aiExample") { field(DESC, "Analog input") field(INP, "$(user):calcExample.VAL NPP NMS") field(EGUF, "10") field(EGU, "Counts") field(HOPR, "10") field(LOPR, "0") field(HIHI, "8") field(HIGH, "6") field(LOW, "4") field(LOLO, "2") field(HHSV, "MAJOR") field(HSV, "MINOR") field(LSV, "MINOR") field(LLSV, "MAJOR") } record(calc, "$(user):calcExample") { field(DESC, "Counter") field(SCAN,"1 second") field(FLNK, "$(user):aiExample") field(CALC, "(A<B)?(A+C):D") field(INPA, "$(user):calcExample.VAL NPP NMS") field(INPB, "9") field(INPC, "1") field(INPD, "0") field(EGU, "Counts") field(HOPR, "10") field(HIHI, "8") field(HIGH, "6") field(LOW, "4") field(LOLO, "2") field(HHSV, "MAJOR") field(HSV, "MINOR") field(LSV, "MINOR") field(LLSV, "MAJOR") } the ai value will change from 0-9 and then loop from 0 again. if I want to generate the value from 0-9, then decrease it, such as 9-0. That is, the value increase from 0-9, then decrease from 9-0 one by one, how can I written it? Thanks a lot for your help.
Best wishes Geyang 2008/11/20
[广告] 金秋最关注楼盘-房不胜房 |