Changelog
#########

Release version 0.4.1 (latest)
******************************
**Release date**: 2023-01-26

**Changed:**

* Profinet data access has been largely reworked throughout the code. Instead of relying on UDTs to move data around, we now use GetDataBySlotNum/SetDataBySlotNum along with TypeTarget to access the process data directly. This replaces the original pack/unpack FCs. See the "design" section in the manual for more details.
* All code now supports the S7-1200 series of PLCs. This required removing all STL code from the program, since STL is not supported in S7-1200.
* Migrated all code from TIA Portal V12 to V17.
* TypePd2kStatus now uses more appropriate numeric data types for members (was DWORD for everything)
* TypePd2kStatus now includes additional flags for enumerated values. StatusToUDT is used to populate these values.
* Reworked all state codes to be more consistent with other SDKs. See "design" section in manual for more details.
* Renamed OnOffControl FB to PumpControl to be consistent with other SDKs.
* PumpControl now uses a controls parameter for inputs.
* Add clear alarm command to PumpControl
* Add job complete command to PumpControl
* Add recipe change command to PumpControl
* Change "line stop" to "standbyCmd" in PumpControl
* Add mix and mix fill commands to PumpControl
* Add mix control setpoint to PumpControl
* Add next recipe number setpoint to PumpControl
* Much of the internal logic has been reworked and improved for better readability.
* Manual has been completely re-written. Content has been updated to reflect latest SDK improvements. Formatting has also been improved.
* The PD2K GSDML file has been updated to schema V2.2.
* Changed ReadFlushSeq/WriteFlushSeq to ReadFlushSequence/WriteFlushSequence

**Added:**

* StatusToUDT FC - similar to original UnpackStatus FC but outputs to a TypePd2kStatus UDT instead of the full TypePD2K.
* Types EnableCmdState, ExecuteCmdState, and FunctionCmdState - replaces TypeCmdState
* TypeDcsAckFlags
* TypePumpControls - used with PumpControl FB
* Various FCs for working with strings and datetimes - DecodeDateTime, DecodeEventCode, DecodeUserID, EncodeUserID.
* GetDataBySlotNum and SetDataBySlotNum.
* In addition to the PDF manual, an interactive manual has also been included which can be viewed in a web browser.

**Removed:**

* Removing support for S7-300. Managing both versions of code required a lot of extra development time, and since the vast majority of customers are using S7-1200/1500 PLCs in their installs, the S7-300 compatibility was not adding much value.
* TypePD2K and TypePd2kControl have been removed.
* ClearAlarms FB - merged into PumpControl
* RecipeChange FB - merged into PumpControl
* Manual is no longer provided in .docx format.

Release version 0.3.1
*********************

**Release date**: 2020-07-21

* fix issue with successive DCS commands not returning correct results.

* fix issue with mixRatioSP conversion in ReadRecipe

* initial release for ReadAlarmInfo FB

* initial release for ReadEventInfo FB

* initial release for ReadGrandTotals FB

* initial release for ReadGunContents FB

* initial release for ReadJobInfo FB

* initial release for ReadMixFillSP FB

* initial release for ReadPotLifeTime FB

* initial release for WriteMaterialReadyFlag FB

* initial release for WriteMixFillSP FB

* minor improvements in reducing block internal memory

* update example project to show various ways to use the library blocks

Release version 0.2.2
*********************

**Release date**: 2020-07-01

* fix block auto numbering. All FCs/FBs now have default numbers in the 200 range.

Release version 0.2.1
*********************

**Release date**: 2020-07-01

* Initial release for ReadUserID FB

* Initial release for WriteUserID FB

* Initial release for ReadRecipe FB

* Initial release for WriteRecipe FB

* Initial release for ReadFlushSequence FB

* Initial release for WriteFlushSequence FB

* Initial release for ReadFluidControlMode FB

* Initial release for WriteFluidControlMode FB

Release version 0.1.2
*********************

**Release date**: 2020-06-19

* fix issue with SendDCS not resetting command number on successive calls


Release version 0.1.1
*********************

**Release date**: 2020-06-18

First release of this SDK.

* Initial release for GracoPD2K global library

* Initial release for GracoPD2K manual

* Initial release for PackControl FC

* Initial release for UnpackControl FC

* Initial release for UnpackStatus FC

* Initial release for OnOffControl FB

* Initial release for RecipeChange FB

* Initial release for SendDCS FB

* Initial release for ClearAlarms FB