Release Notes – March 2023
CDP Framework v4.11.2
Highlights in the CDP Framework release
- Sequencer Framework supports IEC-61499 derived event-based distributed computing with extensions to define cyclic and hybrid blocks with the same Framework. Sequencer Framework supports both no-code and code-based new block creation
- Added the new standard for maritime bridge systems UI theme: Open Bridge together with wizards, widgets, and examples
- Improved DHChain to support for several dynamically addable velocity-related arguments and ports for forward and inverse velocity kinematics and maximum speed limitation. Added also moving and rotating constraint support for any link
- Total rewrite of the Design Mode manual and widget documentation
- Several updates to widgets functions and themes
- New SCADA and for using Kinematics to Motion-Compensate Crane on a Moving Platform examples
Improvements
- Fixed spinbox and combo box widgets to handle disabled state on startup.
- Fixed spin box to handle button clicks outside of range without resetting to zero also when routing is not set, not to allow values when maxValue default by switching the min and max in num pad from int to double, to set max or min value instead of discarding when buttons try to set a value that is out of range and to support the wrapping property
- Fixed spin box buttons to allow negative values.
- Fix graph, not able to plot high resolution (e.g. 10 000 Hz) logger data
- Fixed RecieveMessage issue with UI sent a message when using empty TextCommand
- Fixed line edit to skip reset to routed value when configured to update on slot only
- Updated the disabled state for input widgets in all themes and added properties to configure transparency in the disabled state for widgets that do not have separate graphics when disabled
- Updates for compatibility with newer CDP Studio code generator
- TypeHint=Selection now allows to add descriptions to be added for simple value selections (for value types other than string)
- Throw an error alarm message when RegexOperator Expression is not filled and when Evaluate has incompatible argument names.
- String type Argument and Signal data are now propagated the same way as numeric values are in local applications – on the same cycle and without size limit
- MQTT and TLS protocol errors are reported into MQTTIOClient application output even when Debug level is not set
- Improved ModbusIO Node Online/Offline handling. A node is now online as long as it is enabled and receives valid (non-exception) responses on requests
- Fixed, when a Modbus TCP packet, which got a modbus exception, could block sending of packets that were defined after it in the configuration. The blocking would last until the modbus exception for that packet was no longer present
- Fixed modbusio online checking where TCP packets triggered at a low frequency caused the connection to close and reopen
- Fixed modbus slave that could cause non-written data in a packet to become 0
- Fixed an issue with WagoPFCIO using an incorrect NetworkConvert setting
- Fixed Weather tutorial and example to accept negative temperatures.
- Fixed connecting from ports where one ports name is the start of the second port
- Fix single cycle delay of non-routed input value propagation in OperatorContainer.
- Fix Matrix::Print() printing timestamp in front of every number making the result unreadable
- CDP Simulator: improve SimPort usability on Block Diagram by deriving Connection node Input attribute from SimSignal Input (used to be they had to have matching configurations done manually)
- CDP Simulator: fix routing values from SimSignals which are inside SimPorts and fix slow data propagation between SimSignals and CDPOperators
- Added support to code-based Sequencer blocks for writing asynchronous service blocks
- Added KeepLastChangeOnDisconnect Argument to packets to make it possible to control if values should be kept to the last value or go to zero when the packet goes offline
Updates and hotfixes:
Hotifx 4.11.5 April 2023
- ModBus: Fixed regression that caused byte-sized channels to be incorrectly swapped
- CDPLogger: Fix bug causing data extraction to ignore the query limit argument and overload the application
- CDP Simulator: Make non-routed input SimSignals save their value across application reboot
Hotifx 4.11.4 March 2023
- Fixed alarm operator’s status-propagation to component parent
Update 4.11.3 March 2023
- Fix, Slider widget now updating value when clicking outside the knob
- New custom graphics UI example and tutorial
- Fix, AlignOnWordBoundary could cause a faulty mapping of digital I/O
- Fix, a permanently suspended component could cause high processing time for the CDPEventSubscriber component in rear cases
- Fix, KeepLastValueOnDisconnect handling in ModbusIO so it is read and written correctly
- Fix NetworkTransport StudioAPI structure spamming on Open/Close
- Fix, periodic gaps in CDPLogger log could occur if deleting old records was slow when limiting database size was configured
- Improve automatic reconnect of CDPLogger to also work when the connection is temporarily lost but the remote application itself was not restarted
- Improve performance of the CDPLogger dbextractor tool when extracting only by date with no data filtering or compression
Release Notes – october 2022
CDP Framework v4.11
Highlights in the CDP Framework release
- A new Kinematics design module for forward and reverse kinematics supporting Denavit–Hartenberg chain is used to simulate the behaviour of kinematic link chains. This is very useful when designing systems with robotic arms, cranes or other systems with a chain of moving arms. The Kinematics editor (viewer) shows the system graphically
- Automatic test script enhancements, the configurator command-line (CLI) tool test sections, in addition to simple node value assertions, now more complex value test expressions can be used
- New Database Extractor Tool (under the tools folder) allows you to extract a small part of the stored data into a separate file from a potentially very large database file. Very convenient for remote service and maintenance or incident analysis
- Multi-language support and translation; added tools to extract translatable text from a system and merge multi-language texts. Language can be changed by an operator run-time
- Added support for Azure direct method handling to MQTT
- EQ and NE Operators now support string type. The Out-argument is changed from T to bool
User interface (UI / HMI) enhancements
- Set any widget property from the control system by adding a dynamic routing property for it
- The stacked widget now supports showing its pages in a slideshow. It can also be configured to reset to first page every time the widget becomes visible
- The slider widget now supports sending values when being moved and returns to the centre point (minValue if fillStartValue has not been changed) when released (joystick mode). Set cdpsend to onMoveAndRelease
- Web UI: CDP application IP and port can now be customized using Javascript
- Possibility to add an overlay over a container that can be enabled from the control system (by a routed value). Useful to overlay a grey colour over a container if the subsystem is offline or a red colour if there is a critical alarm
- The stacked widget now supports showing its pages in a slideshow. It can also be configured to reset to first page every time the widget becomes visible
- The slider widget now supports sending values when being moved and returns to the centre point (minValue if fillStartValue has not been changed) when released (joystick mode). Set cdpsend to onMoveAndRelease
- Web UI: CDP application IP and port can now be customized using Javascript
- Possibility to add an overlay over a container that can be enabled from the control system (by a routed value). Useful to overlay a grey colour over a container if the subsystem is offline or a red colour if there is a critical alarm
- The button and signal selector widget that can be used to select signals to plot in the database graph now supports search, useful for service engineers to plot any signal in the system from a system operator display
Improvements
- Note: Removed automation_deprecated. Old projects should be upgraded to use operators from ‘Automation’ instead.
- TextCommand CDP messages and CDPSignal routable value maximum length is increased up to 925 bytes
- Support operator== with string literals for CDPSignals and Arguments
- Reduced overall CPU load for data propagation between components and operators in the same ThreadGroup and Priority
- Reduce unnecessary XML changes when running a CDP application to reduce the amount of differences visible in version control tools. That includes not saving programmatic updates to CDPAlarm Text and StudioAPIServer active IP and port
- Reduce CDPLogger CPU usage when using a lower PeriodicLogFrequency and add an alarm which will be triggered when the logger must drop samples because of an overload
- The number of parent levels to search from can now be limited by prefixing type names with the corresponding number of dots in ScopedNode and ScopedNodeList TypeHint.
- New TypeHint RoutingList is added to CDP model syntax, which allows multiple routings to be connected to one object
- Make StudioAPIServer component listen on all network interfaces when NetworkInterface property is set to an empty string
- Make CDP Browser and WASM web UI apps use high-resolution icons on high-DPI monitors
- Intro 2 example is now using yr.no REST service (instead of metaweather.com)
- Improved Modbus documentation to make it clearer how the Modbus protocol works
- Implemented ‘AddNodeAddress’ setting in CANIO TPDO,RPDO and Object Dictionary Entries to make it easy to set up automatic value-adjustment relative to CAN node address for the selected items
- Updated spin box to also support showing out of range values
- CDPPort connection propagation can now be controlled by separate connect property
- Alarm event re-reporting is now handled by CDPEventNode
- Added signals to CDPEventNode to keep track of Unack, Set and UnackSet alarms
- Updated CDPBaselabel setWidgetStyle to refresh styleSheet.
- Updated CDPBaselabel properties to be editable no matter the stylingType.
- Added feature in the slider widget for allowing to paint fill before the background. This allows filling in patterns and shapes by having transparent sections in the background
- Added OperatorContainer to allow creating better design hierarchy when using operators in the same scheduling context
- Added CDP message based triggering support to MQTTClient (see SendOnMessage and OnReceiveMessage in MQTTIO documentation).
- Added MessageTransform and MessageRegexProxy POSIX string value matching and transforming operators
- Add string support to several CDP Operators
- Add the example “How to use anti-sway on a crane”
- Added Custom IOServer wizard, example, and documentation. Updated Documentation for IOServer, ChannelManager, and Transport
- Use static linking of libraries for the ‘configurator’ tool included with CDP to make running it more convenient
- Fixed widgets max/min handling to avoid race conditions when routed
- Fixed widget dialogs to take global position into account when having multiple screens and no parent. Also, updated the translucentBg property to hide the window frame when true and having no parent
- Fixed running application LogURL log file can now be opened in a browser also on Windows controllers
- Fixed values TypeHint being applied to all other properties in the node
- Fixed relative routing to work when using the trigger attribute
- Fixed a bug in TCPTransport that in some cases caused a hang on application exit
- Fixed CDPProperty flag automatic loading from XML model tree in online mode at application start-up
- Fix offline value feature to work with widgets that can support text
- Fix node visibility flag (Important, Internal, etc) reading from complex model structure in online mode
- Fix issues with dialog startup animation and moving
- Fix header to include paths in the class documentation
- Fix the meters widget causing GUI freeze when scaling down texts
- Fix Web GUI failing to load resources with special characters in their name
- Fix PriorityEncoder IgnoreZeroValues option for double types small and negative values
- Fix OPC UA Client write permissions to always show correctly
- Corrected documentation regarding conditional breakpoints
- Fixed CDPBaselabel precision to update displayed value directly
- Fixed CDPBaselabel setValue to avoid showing a negative sign when visible digits are zero
- Added CDPBaselabel property to make it possible to convert label text to upper or lower case
- Fixed the wheel event in the slider to be disabled during joystick mode as it shouldn’t be possible to use the wheel in this mode.
Updates and hotfixes:
Update 4.11.1 November 2022
- Fixed TCPTransport issue causing possible application hang on exit
- Fixed seldom GUI startup issue where widgets did not get initial value
- Fix issue with ModbusIO TCP resend
- Fix Port name collision in OperatorContainer based structures with Ports
Release Notes – november 2021
CDP Framework v4.10
Highlights in the CDP Framework release
- Cyber security support according to IEC 62443-3-3 and maritime specific DNV RUSHIP Part 6, Chapter 5, Section 21 Cyber Security for ships. This includes amongst others user and user roles, authentication for accessing any system object or accessing any system API, encryption, security patch updates and vulnerability fixes, file access limitations etc
- Automatic conversion of drag-and-drop UI to web-UI supported by any web browser with web assembly. Added support for small screen with automatic layout changes based on width, expand vertically and show/hide container.
- Added support for Revolution Pi Flat, RevPi Compact and RevPi Connect in addition to the RevPi Core
- New functionality in Event List to avoid acknowledging not visible alarms by mistake for general safety and this is a maritime requirement
- New examples, cyber security, Web UI with web assembly, Simple redundancy and QML/QtQuick
Improvements
- Update MariaDB client to support newer versions of MariaDB and MySQL databases
- Added support in LineEdit for disabling auto convert from string to double.
- Some operators (mathematical functions) are updated allowing them to be used in CDPChannels
- Update jQuery in web gui template
- The Value of a StateVariable in CDP Simulator is now possible to set from CDP Studio and via SetProperty-msg
- The Com Widget now includes support for emitting string values
- RevolutionPi I/O no longer writes to the config.rsc file.
- Removed memory leak from Activate/Suspend sequence in StudioAPIServer
- Remove routings of internal implementation objects from CDP RoutingTracker table
- Reduce idle CPU usage of CDPLogger’s built-in database server
- QQuickWidget: fall back to software rendering when OpenGL version is too old (min 2.1)
- New property TypeHints like Flags, ScopedNode and ScopedNodeList are added. See CDP Model syntax for more info
- ModbusIO: In a special case, some digital modules >8 bit were aligned incorrectly in the Modbus mapping image
- Make it possible to inherit operators
- Fix sending TextCommand messages from Studio where no parameters are included
- Fix not showing messages in Studio for objects not able to receive them
- Library build date/time is now updated
- InfluxDB bow support API token authentication
- Improved configurator commandline interface to accept strings with spaces
- Fixed wrong channel-size calculation when operators were used in the IOServers modbusio, plcnextio and wagopfcio
- Fixed wrong calculations and scheduling for Operators and DynamicSimComponents used with CDP Simulator
- Fixed value-propagation when Operators are used in CDP Simulator
- Fixed startup-problem for TOF and TON operators
- Fixed some routing-problems for properties in Operators/Arguments
- Fixed changing fs on a CDPComponent during runtime sometimes had no effect
- Fixed alarm reporting before application itself had started
- Fixed CDPConnectors would not connect when path is to non CDPObject
- Fixed IIRFilter and RampFilter used wrong frequency when used in DynamicSimComponent
- Fixed pin pad to use asterisk and line edits to forward echo mode to key pads
- Fixed bug that prevented windows cross compilation to PLCnext applications to run
- Fixed LineEdit preventing setting cdp values received during focus, if focus out was triggered manually
- Fixed annoying prompt in LineEdit when new value was equal to old and confusing question mark in prompt text
- Fixed Kongsberg Seatex MRU serial implementation causing invalid CRC and faulty data
- Fixed automatic calculation of MessengerIOServer’s fs could be set too low causing signal update between applications becoming too slow
- Fixed CDP Simulator where using OverrideStateValue() in Reset() had no effect
- Fixed CDPNode element-type property value not to be written to XML configuration
- Fixed Scaling operator Description can now be edited
- Fix problem regarding not releasing packet when still needed. This could cause change in signal value for other signals with routing to the same signal.
- Fix graph widget yAxisMinValue property resetting on startup
- Fix slider now updates routed value when multiple GUIs are controlling the same object
- Fix ScalingPoint of a ScalingOperator listing some unknown message nodes in online mode
- Fix DB Graph Signal Selector widget not connecting to CDPLogger when the logger was started after the widget
- Fixed if signals A and B are routed FROM signal C, and the routing of A is changed, the value of B go to zero for some time
- Fix CDPProperty in some cases not escaping the string when saving a value to XML
- Fix CDPPort data to propagate without delay when using same fs, Priority and SchedulingGroup in TopDown scheduling mode
- Fix CDPLogger failing when logged value name included an apostrophe
- Component Status is now exposed as a CDPProperty<unsigned int> to simplify testing alarm conditions on components
- CDPLogger sometimes fails to log values in a rare case of application handle collision
- Allow renaming CDPLogger LoggedValues and Datastores in Block Diagram mode.
- Allow CDPPorts to be chained and subscribing to proxy type CDPPort
- Reduce memory usage of StudioAPIServer
- Added new toolkits for Insys
- Added description of Domain property in Application
- Added configurator tool documentation and -cli option for configurator tool to enable scripting of configuration tasks
- Added Integrator (simulator-component) to CDP Simulator
- Added ‘Troubleshooting’ documentation to ‘A Getting Started Guide’
- Add other interpolation options (in addition to Linear) to ScalingOperator – like Makima, PCHIP, BaryRatio
- Add GetChild(name) method to ICDPNode which allows accessing the children of any CDP class
- Fixed an issue where some Modbus RTU packets could be dropped
- Added support for additional wait time before sending a Modbus packet
- Fix issues with ExternalControlIO HTTPRequest when PATCH and DELETE method was used
- Prevent deleting mandatory arguments from operators in online mode
- Fixed some crashes, squashed some minor bugs and fixed documentation
Updates and hotfixes:
Update 4.10.11 March 2023
- Compatibility update for CDP Studio v2.4
Update 4.10.10 October 2022
- Use static linking of libraries for the ‘configurator’ tool included with CDP to make running it more convenient
- Fix library block diagram showing Operator models as lables
Update 4.10.09 July 2022
- Fix an issue with ModbusIO KeepLastValueOnDisconnect
- Fix CDPPort connection failing in some condition
Update 4.10.7/8 June 2022
- Modbus, improved handling non-responsive devices
- Modbus, enable/disable individual package sending (use case: do not set values before values are read)
- Fixed B&R digital module handling
- Fixed Weidmuller DO16 numbering issue
- Fixed validity check in TONOperator
- Fixed AddRandom random generator initial seeding on Windows
- Fixed event list to support Unicode translations on Windows
- User-defined operator argument can be flagged as important to stand out or made read-only
Hotfix 4.10.6 May 2022
- Fix WebEngineView widget support on Ubuntu 22.04
- Fixed value of NumberOfNodesOnline for ModbusMaster when OutputDisable is true
- Fix crash in CDP2Qt during startup when Routing from a MessageOperator
- Fixed MQTT channels were not able to put into ChannelGroups
- MQTTIO automatic ClientID generation is now based on MQTTIO component full name instead of short name, to ensure better uniqueness
Update 4.10.5 March 2022
- Added support for new Raspberry Pi Debian 11 Bullseye toolkit and Raspberry Pi 4
Hotfix 4.10.4 February 2022
- Fix crash on right-click in the Security Configurator web UI and now able to open the UI without first clicking on table background
- Added support for fill start value in the slider widget
- Fixed CDPBaseObject::GetProperty()/SetProperty() to use improved function to find the property. Also fixed printing of objects (when pushing ‘o’) to print CDPBaseObjects if having handle
- Updated CDPIO PLCnext addon to support the latest PLCnext SW version. Available in the PLCnext Store
Update 4.10.3 February 2022
Cyber security feature enhancements
- Pre-made application (web UI) allowing end-users to do system user admin (add and remove operators, reset passwords etc). App also supported for service engineers to change security settings
- Auditable event logging, logging of changes to the system is now supported – IEC 62443-3-3 SR 2.8
- System Use Notification text can be now configured – IEC 62443-3-3 SR1.12
- The Idle Lockout Period can be now configured before re-authentication is required – IEC 62443-3-3 SR 2.5
- StudioAPI server now sets Content-Security-Policy HTTP response headers to help reduce cybersecurity risks on modern browsers
- Added support for delaying configuration write to ensure uncorrupted backups
- RolePermissions for CDPNodes are enabled for some nodes (see user guide)
- Fix Design Mode security properties not being editable
- Fix CDPOperator RolePermissions being written to the parent node instead
- Documentation updates for how to conform to CR 3.14 – Integrity of the boot process, and software and information integrity
Improvements
- Enable high DPI scaling by default for HMI/GUI applications
- Update jQuery version in CDP2SQL Chat example
- Model editor supports now forward declared attributes
- Increased max NMEA telegram size from 82 bytes to 1400 bytes.
- HMI/GUI documentation improvements for widgets and troubleshooting
- If high resolution timing is required in threaded code, globalTime (GetGlobalTime(), GlobalClockMs() and CDPTimerMs) should no longer be used. CDPTime::GetGlobalTimeFromHardware(), CDPTime::GlobalClock() and CDPTimer should be used where more precise timing is required
- Fixed opening correct help-page when clicking F1 in Studio Configure mode for some resources.
- Fix Design Mode security properties not being editable
- Fix CDPOperator RolePermissions being written to the parent node instead
- Fixed crash in CDPConnection.
- Fix potential crash when editing the TriggerRouting property during runtime.
- Fix crash caused by unconfigured transport
- Connected status is now also set to true on the first CDPPort in the connection chain.
- Bit-number (Nr) for bool-channels in modbusio is now showed in online view in Studio. Also Description for ModbusModule and ModbusPacket is shown in online view.
- Automation.Delay operator is fixed for not to miss near-process-cycle length bursts in the input and delay them correctly on output.
- Added support for operators and OutputDisable in nmea0183
- Added a CDPConfigurator python class to simplify reading and writing application information. By using this class from a python script, it becomes possible to change application configurations or extract information from a CDPStudio application configuration
- Some changes in canopenio regarding ObjectDictionary section containing Entries, where Online-view is updated.
- Fixed length check for Modbus master requests
- Fixed an issue on Linux where Serial API PutByes() would return prematurely if socket write() returned fewer bytes than requested.
- Fix meter widget value rounding around zero
- CDPPushPort can now be used on block input side for incoming push port connections
- Fixed problem setting argument value (from GUI) of an CDPBaseObject operator
- Fixed bug in CDPBasePicture that prevented repositioning when having a relative position set and parent being resized
- Added support for moving CDPBasePicture by its center position.
- Fixed meter rounding issue for values between -1 and 1
Hotfix 4.10.2 December 2021
- Fix IOServers could report invalid timestamps for values. Effected plotting in Analyze mode and logging
Hotfix 4.10.1 November 2021
- Fix ExternalControlIO HTTPRequest with GET method in cases when request channels are configured
Release Notes – SEPTEMBER 2020
CDP Framework v4.9
Highlights in the CDP Framework release
- New signal type supported: String
- New Possible to connecting to SQLite and MySQL databases
- New Change the displayed language in a GUI applications runtime
- New Export plot data from graph widgets
- New Expose application message log and save it to log.txt file
- Allow adding values to CDPLogger during runtime
- Added support for Automation operators in CDPSim
Improvements and corrections
- Added Cron generator and the math functions Derivative, Integral, Greater than and Comparison
- Create support for string signals for MQTT and OPC UA
- Add the actual SW code in the documentation for all the math (operator) functions
- Database graph widget autoscale slot scale both axises if no axis is selected selected
- Added scaleXAxis and scaleYAxis slots to graph widgetsF
- Full resolution data downloadable from CDP Logger
- Fixed some components that cleared alarms omn every run
- Modbus RTU now always recovers when ethernet cable is unplugged and reinserted
- Running dummy app with dummy Beckhoff-EK9000-TCP IOServer will close down the app
- Fixed CDP Python examples for Ubuntu 20.04 default install
- CDPBaseObject::GetTypeIdName and CDPBaseObject::GetTemplateSubTypeInfo broken for string types on some compilers
- Fixed requesting extended event info based on eventId and handle fails
- Fixed that Non-GUI applications get access violation when Connecting in Studio under Windows
- Fixed strange properties in dump of CDPEventSubscriber
- CDPEventSubscriber dropped sending delayed property request for properties with too long names
- Routed property does not propagate from remote app (re-route)
- Support sending/receiving (property)names/shortnames longer than 32 chars in EventManager-msgs
- Alarm OutUnack signals are created when SignalOutUnack is set to 0
- CANOpen IOServers show wrong Unit for Bytes sent/received/total signals
- CDP writes reparented not-required values to wrong (parent) node
- ExternalIO default auth type is now Basic instead of AnyExceptBasic
- The æ,ø and å key texts in the GUI keypad are only displaying during move
- Unable to plot “node signals” from CAN nodes
- Remove duplicate definition: CDPCOMPONENT_PRIORITY_e and CDPProcessMode
- CDP XML model and template charset (encoding) is now set to UTF-8
- CDPSim: Mass Hangig example graphs MassSpring.x are fixed
- The sequence of scheduling components is not always correct.
- Add xAxisRangeReceived signal to DatabaseGraphWidget to be able to automatically autoScale
- Toggle button bugs: routing, value timeout/flicker during move and move not working when size is small
- Updated GUI classes for use in QML
- Graph data is painted incorrectly when zoomed out
Updates and hotfixes:
Update 4.9.13 March 2023
- Compatibility update for CDP Studio v2.4
Update 4.9.12 October 2022
- Fix library block diagram showing Operator models as lables
Hotfix 4.9.11 September 2022
- Fix, Modbus TCP could in some cases take a long time to reconnect
Update 4.9.10 February 2022
- Fix potential crash when editing the TriggerRouting property during runtime.
- Model editor supports now forward declared attributes – it shows forward declared attributes and allows users to mark them defined at any inheriting model level.
Hotfix 4.9.9 November 2021
- Fix ExternalControlIO HTTPRequest with GET method in cases when request channels are also configured
Update 4.9.8 November 2021
- Fixed automatic calculation of MessengerIOServer’s fs could be set too low causing signal update between applications becoming too slow
- Fix issues with ExternalControlIO HTTPRequest when PATCH and DELETE method was used
- Fix crash in OSAPIMutex possible deadlock notification
Hotfix v4.9.7 – June 2021
- Fix MQTTClient not able to connect to HiveMQ Cloud
Hotfix v4.9.6 – June 2021
- Fix for TOF and TON operator, initial value is now false (0) when default is set to False for PT>ET
- Automation Scaling operator Description can now be edited
- Fix crash when browsing CDPPort with CDP Studio caused by serializing an uninitialized boolean
- Fixed CDPSim where using OverrideStateValue() in Reset() had no effect
- Fixed CDPPortBase model file so Connected property is not written to component file
- Fixed wrong calculations and scheduling for Operators and DynamicSimComponents used with CDPSim
- Seatex MRU Serial, fixed an issue where it would sometimes drop data prematurely, causing invalid CRC and faulty data
- Fixed changing fs during runttmes for a CDPComponent sometimes had no effect
- Fixed possible routing-problems for properties in Operators/Arguments
- Fix PortSimSignal and dynamic SimSignal handling
- Improve example and tutorial title and introductions
Hotfix v4.9.5 – March 2021
- Fix unneeded CppName attribute to appear in Application XML configuration header when top-level operator was added at runtime
- Fixed problem where alarms reported before application itself had started, would be reported every 30 sec
- Now possible to fill Tag attribute for IOServer channels and for alarms in system to refer to tags used in project design and documentation
- MessengerIOServer execution frequency will be increased/decreased automatically according to the frequencies of components sending request-messages, default frequency reduced from 100 to 10Hz
- Fixed Routed CDPParameters will now keep the value if the routing destination no longer is available, it will no longer be set to 0 (zero)
Hotfix v4.9.4 – March 2021
- Fix PLCnextIOServer accidentally clearing application project dependencies list
- Fix hang in database graph widget when browsing or downloading logged data.
- New RPi SenseHAT predefined recipe. Adding the SenseHAT you get component with relevant Sense HAT signals and a pre-configured I2CIOServer
- Fixed I2CIOServer channel offset calculation for channel-types of ‘bool’ when operators were used
- Fixed I2CIOServer value calculations for Sense HAT Humidity, Temperature and Pressure
Update v4.9.3 – December 2020
- Fixed – Property value was in some cases not set default values and flags
- Added support for graph value label precision
- Fixed initial GUI values never changed if value change was 0 or empty string.
- Fix compile error when using the SimPort wizard in a library project
- Fix the “Preparing ValueProvider failed” error which sometimes occurred on CDPLogger startup
- Added communication property in database widgets to make it easier to connect them to database logger
- Fix live connect to system issue causing connect failure to every application in the system
Update v4.9.2 – December 2020
- Allow adding values to CDPLogger during runtime
- Added support for Automation operators in CDPSim
- Removed event subscription via connections in CDP2Qt as this fallback should not be needed
- Fixes CDP millisecond precision scheduling for latest Windows updates
- Fixed problem where property SourceValue for CDPAlarms generated many events.
- Fixed issue where ModbusIO debug printouts showed wrong data for responses
- Fixed an issue with the Process Overload alarm being incorrectly set.
- Fix upgrading project from CDP 4.2 or 4.3 adding two copies of ProcessTimer
- Fix broken configuration was written to XML on operator argument remove in online mode
- Fix CDPPort being unable to set Routing to CDPNode’s child property
- Fix CDPLogger logging to wrong database column if a new LoggedValue is added to the middle of the list of LoggedValues
- Fix CDPLogger configured with CDPCompactDatastore not respecting SizeLimitGB after the database splits (happens when logging over 100 values)
- Added ui loader finished signal to CDP2Qt and main window. This can be used to measure ui loading time and other tasks we want to run when ui is ready
- Improved data-propagation path for I/O-Servers
Update v4.9.1 – October 2020
- Fix CDPPort not clearing old remote routings when editing the Routing property
- Improved data-propagation path for I/O-Servers
- Fixed problems regarding BrokenRoutings for event-based properties. In some cases, some requested property-values would not be received, or old values could be returned.
- Make StudioAPI connections independent with separate request queues in CDP to ensure that requests from all subscriber are handled (round robin)
- Fix TopDown scheduling mode to process blocks in single cycle when Operators and Components are mixed in multilevel flow.
- Fix online add was not working when mklink-ed folder was used in Windows target
- Fixed bug that could cause widgets, like sliders and bars, to not receive initial value when they also have routing set for their max value. The fix will correct all widgets that use CDPBaseTickMarks.
- Crash fixes
Release Notes – APRIL2020
CDP Framework v4.8
Highlights in the CDP Framework release
- Support PLCnext controller from Phoenix Contact
- Top level operators
- OPC-UA: Client and Server
- Better support for multi-core controllers, major upgrade of CDP Scheduler
Improvements
- Improve GUI performance on slow hardware (PanelPC)
- Add Input attribute to CDP Parameter
- Remove “Value” and “Name” CDP Settings from CDP Property
- Make PropertyIOServer publish routings to StudioAPI
- Rename and refactor Argumentable operator
- Remove unused Parameters in MessengerIOServer
- Increase fs for EventManager components
- Add support for Push and Pull Port
Updates and hotfixes:
Update 4.8.13 February 2023
- Fix, CDP Studio connecting to a multi-applications system sometimes failed. Affected also CDPLogger and OPC-UA-Adapter.
Update 4.8.12 October 2022
- Fix library block diagram showing Operator models as lables
Hotfix 4.8.11 September 2022
- Fix, Modbus TCP could in some cases take a long time to reconnect
Update v4.8.10 – February 2022
- Fix potential crash when editing the TriggerRouting property during runtime.
- Model editor supports now forward declared attributes – it shows forward declared attributes and allows users to mark them defined at any inheriting model level.
Update v4.8.8 – November 2021
- Fixed Kongsberg Seatex MRU serial implementation causing invalid CRC and faulty data
- Update Library Documentation and Semantic UI wizards to support Qt Creator 4.13
- Fix crash in OSAPIMutex possible deadlock notification
- Fix crash when browsing CDPPort with CDP Studio caused by serializing an uninitialized boolean
Hotfix v4.8.7 – March 2021
- Fix PLCnextIOServer accidentally clearing application project dependencies list
Update v4.8.6 – December 2020
- Fix compile error when using the SimPort wizard in a library project
- Fix the “Preparing ValueProvider failed” error which sometimes occurred on CDPLogger startup
Update v4.8.5 – December 2020
- Fix upgrading project from CDP 4.2 or 4.3 adding two copies of ProcessTimer
- Fixes CDP millisecond precision scheduling for latest Windows updates
Hotfix and update v4.8.3 – September 2020
- The scheduling sequence of components was not always correct
- AckAll in alarm list now only send Ack to shown alarms
- Fixed incorrectly painting of Graph data when zooming out
Hotfix and update v4.8.2 – July 2020
- New Waveform (signal) generators (look under operators)
- New DA and AD converter operators
- New UI example, the UI used for HW IO YouTube tutorials
- Fixed OPC UA Discoverer issue when a PLC OPC UA Server is scanned
- Sending the CM_TEXTCOMMAND message CDPBaseObjects now works
- Routed Properties can in special cases receive incorrect value
- Fixed issue in CDPSim routing
- Fixed – configurator tool can now be used to test if a value is not changed
- Fixed – changing relative routing runtime now works
- Fixed – signals can in special cases drops to zero
- Fixed – Bar widget fails to connect to a periodic property
- Fixed – Too many Process thread overload alarms when in connected mode
- Fixed – when a routed signal is de-routed and then routed again, the input signal gets the value from before the disconnect
- Fixed – CANIO does not come back up if socket goes down.
- Fixed – CDP Python examples fail to start on Ubuntu 20.04 default install
Hotfix and update v4.8.1 – April 2020
- Added a great number of readymade functions useful for automation, maths and value transformation (operators)
- Show Parameters on left side of blocks in block diagram online view
- Improve TimeStamp operator + included FromTimeStamp and ToTimeStamp operators
- Fixed Requesting extended event info based on eventId and handle
- Fixed project upgrade script for 4.3 to 4.8 upgrades
- Fixed Properties values are not always correct in a GUI
- Show ScalingPoints for the ScalingOperator in Block diagram online view
- Alarm’s Signal routings are shown as red/invalid when routed to an IOChannel
- Properties not connected in some cases
- Improve documentation and examples
- Squashed some crashes