EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: BACnet driver writing values to a device
From: "Webb, Steven B." <[email protected]>
To: "[email protected]" <[email protected]>
Date: Mon, 19 Dec 2016 13:23:29 +0000
Hi, Kyle.

It looks like you are missing the “Priority” parameter in the OUT-field.

BACnet uses a 16 slot priority-array when writing values. 16 being the lowest priority and 1 being the highest priority. So essentially a BACnet output object (e.g., Analog-Output) could have 16 different values written to its Present-Value property. But the Present-Value property will only respond to the value that was written with the lowest number (which is the highest priority) as the priority.

Below is an example of what we use here. Take note that I am writing the chilled water setpoint at the lowest priority, Priority-16.

record(ao, "CF_CU:Chllr_CU01:BAS_ChilledWaterSetpoint"){
 field(DESC,"")
 field(ASG,"CUB")
 field(DTYP, "BacNet")
#/*     field(OUT, "@<device name> <object type> <object instance> <property id> <optional object array index[?]>*/
 field(OUT, "@c1 2 1901 85 p16")
 field(SCAN, "Passive")
 field(PREC,"1")
 field(LINR,"NO CONVERSION")
 field(EGU,"F")
 field(ADEL,"0.05")
}


Let me know if this helps!

Webb, Steven B. (Brad Webb)
Process Controls/Software Engineer
Bldg: 8600
Rm: C-188
MS: 6485
865-924-5877
[email protected] ([email protected])
Spallation Neutron Source

> On Dec 17, 2016, at 1:00 PM, [email protected] wrote:
> 
> Send Tech-talk mailing list submissions to
> 	[email protected]
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://mailman.aps.anl.gov/mailman/listinfo/tech-talk
> or, via email, send a message with subject or body 'help' to
> 	[email protected]
> 
> You can reach the person managing the list at
> 	[email protected]
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Tech-talk digest..."
> 
> 
> Today's Topics:
> 
>   1. SRS RGA 100 protocol files (King, Virginia Elizabeth)
>   2. BACnet driver writing values to a device (Kyle Lanclos)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Fri, 16 Dec 2016 22:13:54 +0000
> From: "King, Virginia Elizabeth" <[email protected]>
> To: "[email protected]" <[email protected]>
> Subject: SRS RGA 100 protocol files
> Message-ID:
> 	<[email protected]>
> Content-Type: text/plain; charset="us-ascii"
> 
> Has anyone used the stream device protocol with an SRS RGA100 and if so,  do you have a protocol file example, database, or any other code/examples , they would be appreciated.
> 
> Thanks,
> 
> Virginia King
> Controls Software Engineer
> AOT-IC, MS H820
> Los Alamos National Laboratory
> Los Alamos, NM 87545
> ph: (505) 665-7931
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mailman.aps.anl.gov/pipermail/tech-talk/attachments/20161216/6973f636/attachment.html>
> 
> ------------------------------
> 
> Message: 2
> Date: Fri, 16 Dec 2016 16:54:41 -1000
> From: Kyle Lanclos <[email protected]>
> To: [email protected]
> Subject: BACnet driver writing values to a device
> Message-ID:
> 	<CA+Gx85SK2Xg7RNyGXVXjD0fNPBnrcN6zg6M809n6Su0yPkRphg@mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
> 
> I'm trying to communicate with an Alerton BCM-ETH controller via
> BACnet. I'm using the ORNL driver to do so:
> 
> http://ics-web.sns.ornl.gov/webb/BACnet/
> 
> I can successfully read analog and boolean values. My IOC will poll
> each value at the configured interval, and I can read/write the
> channels with impunity. However, my write operations are not resulting
> in any extra communication with the controller (as seen by wireshark).
> I see the poll requests to read the present value but I never see
> anything attempting to _set_ the present value.
> 
> I can write values using a demo program that's included with the
> bacnet-stack library. I see the packets on wireshark, but any changes
> requested aren't necessarily reflected in my EPICS channels. Not sure
> what to make of that.
> 
> I'm hoping there's something simple that I'm doing wrong. Here are
> some example sections of my IOC initialization sequence.
> 
> 
> epicsEnvSet("EPICS_BASE","/usr/local/epics/default/base")
> epicsEnvSet("IOC","alerton")
> 
> dbLoadDatabase "$(EPICS_BASE)/dbd/epics2bacnet.dbd"
> epics2bacnet_registerRecordDeviceDriver pdbbase
> 
> bacnetDriverInterfaceName("enp0s20f0u4u4u2")
> bacnetDriverPortNumber(47808)
> 
> bacnetDefineServer("Alerton", 10001, 47808, 25)
> 
> bacnetListServerInfo(5)
> bacnetDriverStart(1)
> bacnetDriverVerbosity(1)
> 
> dbLoadRecords("alerton.db", "IOC_NAME=$(IOC)")
> iocInit
> 
> ...and then a pair of records from the included database:
> 
> record(ao, "$(IOC_NAME):A000_VAL"){
>  field(DTYP, "BacNet")
>  field(OUT, "@Alerton 2 0 85")
>  field(SCAN, ".5 second")
> }
> 
> record(bo, "$(IOC_NAME):B000_VAL"){
>  field(DTYP, "BacNet")
>  field(OUT, "@Alerton 5 0 85")
>  field(SCAN, ".5 second")
>  field(ZNAM, "False")
>  field(ONAM, "True")
> }
> 
> 
> Thanks in advance for any guidance. I apologize if I don't get back to
> you right away, I won't have access to this equipment for a while.
> 
> --Kyle
> 
> 
> ------------------------------
> 
> _______________________________________________
> Tech-talk mailing list [email protected]
> https://mailman.aps.anl.gov/mailman/listinfo/tech-talk
> 
> 
> End of Tech-talk Digest, Vol 10, Issue 475
> ******************************************
> 



Navigate by Date:
Prev: BACnet driver writing values to a device Kyle Lanclos
Next: Re: SRS RGA 100 protocol files Geng, Xiaosong
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: BACnet driver writing values to a device Kyle Lanclos
Next: Perspective sharing Patard Charles-Henri
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Dec 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·