This article covers loggers related to BACnet device connections that were introduced in Ignition version 8.1.X.
Loggers in this article:
com.inductiveautomation.ignition.drivers.bacnet
A series of loggers monitoring existing remote BACnet device connections and their subscribed objects.
com.inductiveautomation.ignition.drivers.bacnet.BacnetIpAddressSpace
- Provides basic information about initialized remote device connections
- INFO logger informing the Gateway logs about a recently enabled remote BACnet device connection. {DeviceConnectionName} is denoted as the name of the specific remote BACnet device connection in the Ignition config:
Initialized client in 3061ms device-name={DeviceConnectionName}
- INFO logger informing the Gateway logs about a recently enabled remote BACnet device connection. {DeviceConnectionName} is denoted as the name of the specific remote BACnet device connection in the Ignition config:
-
- DEBUG logger providing more information regarding an enabled remote BACnet device connection:
Initializing client... device-name={DeviceConnectionName}
- DEBUG logger providing more information regarding an enabled remote BACnet device connection:
com.inductiveautomation.ignition.drivers.bacnet.BacnetIpAddressSpace$CovModel
- Monitors the creation/deletion/value changes for Tag subscriptions to BACnet objects and periodic connection checks to the remote device.
- DEBUG log showing the creation and removal of subscriptions to BACnet objects when the remote device connection is enabled and then later disabled. covNotificationReceived states the status of Ignition Tag subscriptions subscribed to a particular BACnet object (ex: analog-value 0, analog-value 110). When a Tag value updates, this logger will send a new covNotificationReceived showing the new state of that object:
COV subscription renewal job launched @ 675000ms for analog-value 0 device-name={DeviceConnectionName}
covNotificationReceived: spId=9, deviceId=device 1215000, objectId=analog-value 0, timeRemaining=900, values=[PropertyValue(propertyIdentifier=present-value, propertyArrayIndex=null, value=30.0, priority=null), PropertyValue(propertyIdentifier=status-flags, propertyArrayIndex=null, value=StatusFlags [in-alarm=false, fault=false, overridden=false, out-of-service=false], priority=null)] device-name={DeviceConnectionName}
COV subscription renewal job launched @ 675000ms for analog-value 110 device-name={DeviceConnectionName}
covNotificationReceived: spId=9, deviceId=device 1215000, objectId=analog-value 110, timeRemaining=899, values=[PropertyValue(propertyIdentifier=present-value, propertyArrayIndex=null, value=11.0, priority=null), PropertyValue(propertyIdentifier=status-flags, propertyArrayIndex=null, value=StatusFlags [in-alarm=false, fault=false, overridden=false, out-of-service=false], priority=null)] device-name={DeviceConnectionName}
…
Cancelling subscription for analog-value 110 device-name={DeviceConnectionName}
COV subscription renewal job cancelled for analog-value 110 device-name={DeviceConnectionName}
Cancelling subscription for analog-value 0 device-name={DeviceConnectionName}
COV subscription renewal job cancelled for analog-value 0 device-name={DeviceConnectionName}
- DEBUG log showing the creation and removal of subscriptions to BACnet objects when the remote device connection is enabled and then later disabled. covNotificationReceived states the status of Ignition Tag subscriptions subscribed to a particular BACnet object (ex: analog-value 0, analog-value 110). When a Tag value updates, this logger will send a new covNotificationReceived showing the new state of that object:
-
- DEBUG log showing the current status of the remote device connection. This will log every few seconds to indicate the connection is healthy:
DeviceStatus heartbeat: operational device-name={DeviceConnectionName}
- DEBUG log showing the current status of the remote device connection. This will log every few seconds to indicate the connection is healthy:
com.inductiveautomation.ignition.drivers.bacnet.BacnetIpClient
- Monitors the discovery of remote device connections when first initializing.
- DEBUG log showing a successful discovery of a defined remote connection without registration to a BBMD on the local device:
Starting discovery, searching for device number=2007 @ 10.20.4.24:47808…
Discovered: RemoteDevice(instanceNumber=1215000, address=Address [networkNumber=0, macAddress=[a,14,4,18,ba,c0]])
- DEBUG log showing a successful discovery of a defined remote connection without registration to a BBMD on the local device:
-
- DEBUG log showing a successful discovery of a defined remote connection with registration to a BBMD on the local device. In this example, only a single device 2007 is being configured and initialized, but we will still receive the discovery of all the other adjacent BACnet remote devices inside the BBMD:
Starting discovery, searching for device number=2007 @ 10.20.4.24:46276...
Discovered: RemoteDevice(instanceNumber=1215000, address=Address [networkNumber=0, macAddress=[a,14,4,18,ba,c0]])
Discovered: RemoteDevice(instanceNumber=2007, address=Address [networkNumber=121, macAddress=[7f,0,0,1,b4,c4]])
Discovered: RemoteDevice(instanceNumber=150000, address=Address [networkNumber=121, macAddress=[7f,0,0,1,b4,c3]])
Discovered: RemoteDevice(instanceNumber=1216000, address=Address [networkNumber=121, macAddress=[7f,0,0,1,b4,c2]])
- DEBUG log showing a successful discovery of a defined remote connection with registration to a BBMD on the local device. In this example, only a single device 2007 is being configured and initialized, but we will still receive the discovery of all the other adjacent BACnet remote devices inside the BBMD:
com.inductiveautomation.ignition.drivers.bacnet.LocalDeviceManager
- Notifies the gateway when a configured local device is failing to initialize either on it’s current subnet or failing to register with an BBMD. {BACnetLocalDeviceName} is denoted at the name of the BACnetLocalDevice profile defined in the Ignition config.
- ERROR log showing an issue with initially registering to an existing BBMD for a local device connection setup. In this scenario, the default port “47808” was already in use:
Error initializing LocalDevice "{BACnetLocalDeviceName}". bindAddress=0.0.0.0, bindPort=47808, networkNumber=1, deviceNumber=1000
com.serotonin.bacnet4j.exception.BACnetException: Foreign registration timeout
at com.serotonin.bacnet4j.npdu.ip.IpNetwork.sendForeignDeviceRegistration(IpNetwork.java:964)at com.serotonin.bacnet4j.npdu.ip.IpNetwork.registerAsForeignDevice(IpNetwork.java:231)
at com.inductiveautomation.ignition.drivers.bacnet.LocalDeviceManager. addLocalDevice(LocalDeviceManager.kt:120)
at com.inductiveautomation.ignition.drivers.bacnet.LocalDeviceManager. access$addLocalDevice(LocalDeviceManager.kt:26)
at com.inductiveautomation.ignition.drivers.bacnet.LocalDeviceManager$LocalDeviceRecordListener. recordAdded(LocalDeviceManager.kt:135)
at com.inductiveautomation.ignition.drivers.bacnet.LocalDeviceManager$LocalDeviceRecordListener. recordAdded(LocalDeviceManager.kt:132)
at com.inductiveautomation.ignition.gateway.localdb.PersistenceInterfaceImpl. notifyRecordAdded(PersistenceInterfaceImpl.java:168)
at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl. doNotifyRecordAdded(RedundantPersistenceInterfaceImpl.java:98)
at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl$RecordUpdateListener. recordAdded(RedundantPersistenceInterfaceImpl.java:398)
at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl$RecordAddedMessage. notify(RedundantPersistenceInterfaceImpl.java:474)
at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl$RecordUpdateListener. receiveCall(RedundantPersistenceInterfaceImpl.java:390)
at com.inductiveautomation.ignition.gateway.redundancy.QueueableMessageReceiver. receiveCall(QueueableMessageReceiver.java:47)
at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl. dispatchMessage(RedundancyManagerImpl.java:963)
at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl$ExecuteTask. run(RedundancyManagerImpl.java:1038)
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable. run(BasicExecutionEngine.java:539)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
- ERROR log showing an issue with initially registering to an existing BBMD for a local device connection setup. In this scenario, the default port “47808” was already in use:
-
- WARN log showing an issue with initially successful local device configuration registered with a BBMD but is now experiencing issues:
receivedException local-device={BACnetLocalDeviceName}
com.serotonin.bacnet4j.exception.BACnetException: Foreign registration timeout
at com.serotonin.bacnet4j.npdu.ip.IpNetwork.sendForeignDeviceRegistration(IpNetwork.java:964)
at com.serotonin.bacnet4j.npdu.ip.IpNetwork.lambda$registerAsForeignDevice$0(IpNetwork.java:251)
at lohbihler.scheduler.ScheduledExecutorServiceVariablePool$Repeating. lambda$new$0(ScheduledExecutorServiceVariablePool.java:285)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
- WARN log showing an issue with initially successful local device configuration registered with a BBMD but is now experiencing issues:
com.serotonin.bacnet4j
A series of loggers monitoring existing local BACnet device configurations and their communication with either BBMDs or remote BACnet devices.
com.serotonin.bacnet4j.RemoteEntityCache
- Monitors the process for an initializing remote device connection.
- DEBUG log showing the process of an initializing direct connection to a remote device (no registration to a BBMD). Here, device 1215000 indicates the device number that was received from our connection:
Returning cached entity: device 1215000
Returning cached entity: protocol-services-supported
…
Returning cached entity: device 1215000
Returning cached entity: max-apdu-length-accepted
Returning cached entity: device 1215000
Returning cached entity: segmentation-supported
...
- DEBUG log showing the process of an initializing direct connection to a remote device (no registration to a BBMD). Here, device 1215000 indicates the device number that was received from our connection:
-
- DEBUG log showing the process of an initializing connection to a remote device with foreign device registration. In this example, only a single device connection was made but we can see all adjacent remote device connections that exist inside of that specific BBMD:
Returning cached entity: device 1216000
Returning cached entity: protocol-services-supported
…
Returning cached entity: device 1216000
Returning cached entity: max-apdu-length-accepted
Returning cached entity: device 1216000
Returning cached entity: segmentation-supported
…
Returning cached entity: device 2007
Returning cached entity: protocol-services-supported
…
Returning cached entity: device 2007
Returning cached entity: max-apdu-length-accepted
Returning cached entity: device 2007
Returning cached entity: segmentation-supported
…
Returning cached entity: device 1215000
Returning cached entity: protocol-services-supported
…
Returning cached entity: device 1215000
Returning cached entity: max-apdu-length-accepted
Returning cached entity: device 1215000
Returning cached entity: segmentation-supported
- DEBUG log showing the process of an initializing connection to a remote device with foreign device registration. In this example, only a single device connection was made but we can see all adjacent remote device connections that exist inside of that specific BBMD:
com.serotonin.bacnet4j.service.unconfirmed.IAmRequest
- Monitors any received IAmRequest from available BACnet remote devices. {BACnetLocalDeviceNumber} is denoted as the defined Device Number for an existing BACnet Local device defined in the ignition config.
- DEBUG log showing the BACnet local device’s broadcast has successfully received acknowledgement from a remote device. In this scenario, we are not using a BBMD and are connecting directly to a specific remote device:
{BACnetLocalDeviceNumber} received an IAm from 1215000. Asynchronously creating remote device
- DEBUG log showing the BACnet local device’s broadcast has successfully received acknowledgement from a remote device. In this scenario, we are not using a BBMD and are connecting directly to a specific remote device:
-
- DEBUG log showing the BACnet local device’s broadcast has successfully received acknowledgement from a remote device. In this scenario, are using a BBMD and are connecting directly to only ONE specific remote device 2007, however, all adjacent remote connections that exist from within the BBMD are sending their acknowledgements:
{BACnetLocalDeviceNumber} received an IAm from 1215000. Asynchronously creating remote device
…
{BACnetLocalDeviceNumber} received an IAm from 1216000. Asynchronously creating remote device
…
{BACnetLocalDeviceNumber} received an IAm from 2007. Asynchronously creating remote device
- DEBUG log showing the BACnet local device’s broadcast has successfully received acknowledgement from a remote device. In this scenario, are using a BBMD and are connecting directly to only ONE specific remote device 2007, however, all adjacent remote connections that exist from within the BBMD are sending their acknowledgements:
com.serotonin.bacnet4j.transport.DefaultTransport
- Monitors the enabled broadcast for a running BACnet local device as well as received acknowledgements from any initialized remote device connections using the same local device:
- DEBUG log showing an enabled broadcast of a configured BACnet local device defined in the Ignition config:
Broadcasting WhoIsRouter to local network
- DEBUG log showing an enabled broadcast of a configured BACnet local device defined in the Ignition config:
-
- DEBUG logs showing a received acknowledgement from a reachable remote device when successfully initialized. Will provide the specific networkNumber of the reachable device:
incomingApdu: recieved an acknowledgement from Address [networkNumber=121, macAddress=[7f,0,0,1,b4,c3]]
- DEBUG logs showing a received acknowledgement from a reachable remote device when successfully initialized. Will provide the specific networkNumber of the reachable device:
Comments
0 comments
Article is closed for comments.