Legacy Upgrade Agenda ● Hardware Upgrade Overview 20 minutes ● Legacy Application Import Tool 60 minutes ● Add Quantum Ethernet DIO drops 45 minutes ● Add new X80 Ethernet DIO drops 45 minutes ● LL984 Editor and Unity Overview 60 minutes Legacy Application – LL984 Editor What are the topics: ●Segment and Networks ● Online Segments & Networks What are the topics: ● User Interface – same ‘Look and Feel’ ● Segment Scheduler ● Logic Solve Order ● Adding LL984 Logic ● View Modes of LL984 Editor Networks ● Documentation Import ● Hybrid Application User interface has same ‘Look and Feel’ • Same ‘look and feel’ with the 7 x 11 Nodes in each Network • Instruction bar (with XMIT) and Tool Bar • Now up to 64 Segments and 2000 Networks Segment Network: LL Icon, gray = empty network 7 x 11 Segment Scheduling ProWORX32 Unity Segment 1 Remote Drop Number: Black = Drop is configured Red = Drop is not configured Unity Segment 4 Logic Solve Order LD IEC will solve this logic _1, _2, _3 Then _4, _5, _6. LL984 in Unity will solve this logic _1, _2, _3, _4, Then _5 and _6 Free Formed Text boxes are allowed in the LL984 networks Adding LL984 Logic When adding an instruction it will be Blue when it is invalid data and will not build, it will also have a Red ~~~ under it. When the add instruction has valid references it will be Black and have no Red ~~~ View Modes of LL984 Editor Networks Documentation Import Network Comment ProWORX32 Descriptor Comments Short Comment Unity Long Comment IEC and LL984 mixed LL984 and IEC applications are allowed and the Sections can be intermixed. This is a Concept application Import LL984 IEC Lab Exercise – Networks and Segments At the completion of this module the participant should be able to: ● Navigate Unity Pro project using the Project Browser. ● Access LL984 editor networks ● Create variable in LL984 editor ● Look-up Segment Scheduler through Remote IO Properties Online What will we discuss: • Network Power Flow • Animation Tables • Forced Booleans • Imported Forced Booleans • Show Instruction Network Power Flow PLC in Run Contact %I1153 (_101153) displays both Power and State flow Highlighted contact information ● Power & State Flow display in one place PLC Stopped When the PLC is stopped Power flow is no longer displayed The last scan State is displayed Animation Tables (Data Watch Window, RDE etc.) ● Animation Tables are easy to create ● The easiest way is CTL A, CTL T, this will create an animation of the current network ● Or you can rubber band the logic (selecting multiple nodes while holding down Shift Key), then right click and select Initialize Animation Table ● Or you can manually enter the references ● Additionally, if you need to view a Real (float) enter %MFx (x=1st %MW) in the Name column of the Animation Table Forced Booleans Forced nodes will have a box around the displayed address, 984 address or variable and the color indicates the state In the animation table select Force then the desired state In logic, right click on the node and force to the desired state or unforce Unforce ● You can easily force your contacts and coils ● Force either while viewing the logic or from the Animation Table ● Unity allows Forcing/ Unforcing and state changes with Memory Protect on Imported Forced Booleans 1) 1) Select: Force 2) Select: Swap to Multiple Mode 3) Select: Executes Multiple 2) 3) Identified that there are Forced Bool’s in the Application Show Instruction (Register Editor, Instruction Editor etc.) Right click on the instruction then select Show Instruction will display its “zoom” screen. You must be built and Online to use this feature. Lab Exercise 4 – Online At the completion of this module the participant should be able to: ● Create Animation Table from Project Browser. ● Create Animation Table from logic section. ● Selectively create an Animation Table from logic section. ● Utilize Forced Boolean tools Legacy Application – Tools and Advantages What are the topics: ● Unity Tools ● Unity Advantages Unity Tools What will we discuss: ● Searching ● Locate Writing and Reading ● Bookmarks ● Online Help ● Imported Forced Booleans ● Show Instruction Searching Direct: Highlight and Right Click Enter the address in the search window of use the list box Custom Search by accessing the Data Editor Search Navigation Cross reference element location Causes a jump to either the previous or next instance Cross reference element operation Jumps to the highlighted instance Jumps to the next or previous instance Locate Writing and Reading (Trace/Retrace) Locate Writing Locate Reading Bookmark •Trace/Retrace highlights the nodes and creates automatic bookmarks. There is also a bookmark table created, it can be found in Tools >> Bookmarks. Bookmarks Double left click then rename (be patient) Bookmarks, both, can be disabled by unchecking. When disabled they will be skipped when using next/previous. They will then be light gray. The bookmark with the arrow is the current selected bookmark To add a bookmark (manual) place the cursor on the row location in the bookmark column right click and Toggle Bookmark. It can be removed by repeating Toggle Bookmark. ● Bookmarks allow you to tag specific rows in the networks and then quickly transition from one bookmark to next ● They are saved with the project On Line Help Lab Exercise – Unity Tools At the completion of this module the participant should be able to: ● Navigate the Search results for references, addresses, and variables. ● Establish Bookmarks in the program. ● Trace and Retrace ladder logic. ● Access Help on Type available for the LL984 Editor and LL984 instructions Unity Advantages What will we discuss: ● Derived Data Types ● Derived Function Blocks ● Events ● Diagnostics ● Operator Screens ● Data Dictionary Derived Data Types (DDT’s) DDT’s allow you to create custom arrays (mixed data types) These arrays can be referenced many times. Example of a tank Without the uses of Derived Data Types You would create the following variables for each tank: Tank Level Floats High And Low Flow Meter FE Tank Pump Contactor And Aux Input ● Tank_High_Float ● Tank_Low_Float ● Pump_Contactor ● Pump_Aux_Input ● Discharge Flow_Meter If the application had 10 tanks, that would be 50 variables. Using DDT’s in Unity for the same example 1. Create the DDT named “Tank_System” 2. Create one variable “Soap_Tank” which is an array of 10 of the DDT “Tank_System” 3. Done, All 50 variables created in two steps complete with documentation. Referenced in logic: Derived Function Blocks (DFB’s) Used for repetitive logic, create a DFB that internally contains the required logic. Now the block can be used many times to control. Tank Farm Example: The Derived Function Block has 5 logic sections which controls one tank. Enter the DFB 10 times in the logic with the proper references and all 10 tank have been programmed. Events (Timer and I/O) Event Timers or I/O Events programmed in a Structured Text Section. This Timer Event ST code accumulates all of the flow from each tank flow meter every second. Diagnostics (%S and %SW) ● Benefits of System Words (%SW) and System Bits (%S), extensive bit and word level diagnostics information ● LL984 STAT block is not needed because PLC and I/O status is in %SW’s and %S. Diagnostics (Diagnostics Viewer) It is a tool that is built into Unity The information can be synchronized with up to external 16 devices (like HMIs) by creating a DFB using the Diagnostics instructions Operator Screens Virtually any SCADA or HMI screen can be displayed in the Unity Environment Operator screens are not loaded into the PLC. Data Dictionary Create all your tags in Unity using data dictionary and then those tags are available in: ● FactoryCast (Web Pages) ● Vijeo Designer (HMI) PlantStruxure also provides single database access between Unity and Citect SCADA. Configured under Tools >> Project Settings >> General >> PLC diagnostics and PLC embedded data Lab Exercise – Unity Advantages At the completion of this module the participant should be able to: ● Create (Derived Function Blocks) DFBs and explain advantages. ● Combine (Derived Data Types) DDTs with DFBs. ● Add new DFB using FBD program editor. ● Create new variable using user defined DDT ● Add entire sections of new logic using proven, tested, DFB logic.