jlbcontrols / flintium Goto Github PK
View Code? Open in Web Editor NEWOpen-source library of Ignition® faceplates and graphics that pair with AOIs from the Rockwell Automation® Library of Process Objects.
License: MIT License
Open-source library of Ignition® faceplates and graphics that pair with AOIs from the Rockwell Automation® Library of Process Objects.
License: MIT License
Update the TagScriptModule to apply a different Tag Group to OPC tags based on an OPC path filter. This will allow us to use it to apply the new Leased-Slow tag group to the Cfg_ tags.
-A P_ValveSO UDT has been created, but needs to be finished and cleaned up.
Edit: Changed this issue to only track the UDT. Faceplates and templates will be tracked separately.
Integrate the P_Alarm block with the Ignition alarming system.
Alarming should minimally handle:
Integrating shelving require some investigating.
Joe and I discussed maybe keeping this git private while we get organized, and also creating a project website that lists the contributors and their websites so people can get some traffic out of the project (as well as things like release downloads, documentation, videos, etc. Open to any other ideas at all of how to approach this.
Similar to issue #50 for P_Alarm. This will be solved similarly, by adding a /Meta/Label tag to the P_Gate UDT.
P_Gate Popup "null" for label, see below. This is because the P_Gate UDT does not have a /Meta/Label tag.
Just throwing this out there, it would be nice to have a PLC for people to connect to. If someone has the ability to host an RS Emulate or Softlogix plc that people could connect to for testing that would be helpful.
Edit - Changed this issue from Architecture to discussion about UDT Parameters.
Create P_Motor UDT
Create Main and Advanced faceplate panel templates for P_Motor.
-A P_MotorRev UDT has been created, but needs to be finished and cleaned up.
Edit: Changed this issue to only track the UDT. Faceplates and templates will be tracked separately.
The device graphic object template should be reusable for devices that do not have a display value.
For instance, the VFD pump graphic object uses the display value to show Hz. The graphic object should be usable with a Full Voltage pump, with display value hidden.
Edit the device UDTs and graphic object to make them compatible for devices with or without display values.
Many of the .Err_... tags were not deleted when removing the prefix. i.e. P_VSD/Error/Alarm was created properly, but P_VSD/Error/Err_Alarm is also present. These should be deleted.
Create a new TagScriptModule function that will update the History Provider in UDT member tags.
This doesn't need to happen right away, but will probably benefit us in the long run if we find some kind of vector image library (paid or free?) and use images with an appropriate license for this project.
Using vector images would also give the added benefit of not having to worry about importing /exporting the image library as vectors get stored directly in the window or template.
Ignition's built-in alarming system does not integrate easily with the P_Alarm. Acknowledgement and Shelving are handled by both systems separately, with no simple way of connecting them.
How should this be handled?
A new parameter called OPC Server needs to be added to each UDT definition. The default value should be "Ignition OPC UA Server"
The function below can be used to push the parameter to the OPC Server field of each member tag.
UdtConversion.updateOpcServer()
Delete extra tags in "Output" folder. Should only be for Out_ tags
Detele P_AIn nested UDT, and P_AIn parameter. Not used or needed.
Move Cfg_ tags that are in "Local" folder to "Config" folder. Correct paths in impacted templates.
Relocate or delete remaining tags in "Local" folder to keep structure similar to the other UDTs.
Create a separate file for each UDT definition, and add a script to import/export the files.
Create Main and Advanced faceplate templates
Create fpScripts.nav object to allow navigation to the templates
Edit - Changed this to a scan class discussion. Will move the architecture issue.
Create Main and Advanced faceplate templates
Create fpScripts.nav object to allow navigation to the templates
Create a new TagScriptModule function that will update the OPC Server in UDT member tags.
Change database name from "MySQL" to "historydb". This was changed for instance tags during the resolution of issue #57. The README file instructions will be changed, and the database name should be updated in everyone's gateway.
All - please respond with your availability so we can coordinate our work this week. I'll suggest issues for everyone to work on, but feel free to respond with your input. Please confirm issues that you will be focusing on in your response. Let's not officially assign issues until you start making code changes though, that way we can easily tell when code is being modified, and can coordinate merging, etc.
@Subrosa270 - I know you're on a startup/still getting set up. Will you be able to work on an issue this week? If so, I think you should start with #33
@MaxCarritt - What is your availability this week? It would be great if you could figure out what is going on with #43. Some of the broader/project governance issues could also use your leadership: #10, #12, finalize #13
@tord-v - Can you start making progress on Alarming this week? There is no perfect solution, and we don't have clear actions yet, but I think we need to get something functioning, and then we can improve ... Agile! :) Since you have experience with this in 3.5, it would be great if you could lead this.
@jgodboutPCS - Do you know when you'll be available to jump in? I know you have a ton of experience with all of this, but we could really use your help with P_Seq, specifically.
Modify GO_Device_HorizFlow to allow process objects to display multiple colors if necessary.
For instance, P_ValveSO has one color for the body (open/close position indication), and another for the actuator (open/close output indication).
Create Main and Advanced faceplate templates
Create fpScripts.nav object to allow navigation to the templates
We should try and collectively develop a plan for how to develop on this project, because of how Ignition handles changes, the complexity of PlantPAx, and having several different contributors.
The idea here is to separate our development environments from our master (or production). That way you can feel free to mess with anything, but also only upload changes you feel confident about. If there are major issues that happen on accident, we can roll them back easily.
Using GIT with Ignition is still pretty new too, so we might also run into some issues to work through.
Initial idea of how to make changes:
Clone this project to your computer or gateway. You can use the github desktop app to do this, or go the git command line route. Probably the easiest thing to do is just clone it to an empty directory somewhere on your computer, and manually copy over the jlbFP folder to your gateway's project folder.
Use the included import/export udt window (under administration, utilities) to import the UDTs in the tags/udt_types folder (select 'import me.txt')
Import all the images if needed
Focus on developing in as small of an area as you can.
When you are happy with a change, export that change, and put it into the git directory you created earlier. If you are using github desktop, it should see the file(s) that you change. Commit the change with a title, and decent description of what you did. Push to the origin. It should now be visible to everyone else.
Retrieve changes that other have made by pulling the project, and then copying again the project folder, importing udts, and new images if there are any.
Committing things one by one instead of huge changes all at once will make the project more organized, and any changes will be clearer to the team.
Create a new leased scan class and add all "Cfg_..." tags to it.
Rate: 60,000
Leased/Driven Rate: 1,000
Add {History DB} parameter to all UDTs.
The UdtConversion.updateHistoryProvider() can be used to make the changes.
Hi Everyone, thanks for joining the project. My name is Joe Burns, and I have been an automation engineer for 10 years. I have worked in a number of different industries, including power, defense, nuclear, semiconductor, pharma and mining. I’ve always wished the Ignition community had a standard automation library. I’m very excited this team is coming together to work on it. I’m looking forward to working with you.
Please respond to this issue to introduce yourselves!
The most important issue! What do we call this project? Let's get a brainstorm going!
Valve and Motor Graphics not scaling in size.
Test needed to see if UDT with leased scan class causes all contained tags to be polled when only one tag is needed.
They may have fixed this in version 8, but in 7 the issue I ran into was that even if a member of UDT was part of a leased tag group it would go on scan if any member of the UDT was being displayed or read for any reason. That means if the direct value tag was being shown on screen, tracked in the historian, or monitored for alarm, then the entire UDT would be read even if it was leased. My initial solution was to have to create a completely separate datatype for the leased tags and one for the live tags.
Inductive has completely re-worked the tagging architecture with version 8 so they may have fixed that problem. It might be worth coming up with a test to see if they did. I would suggest creating a data type with a lot of members that are leased and with one tag to display on the client. Then monitor the gateway for the number of tags on scan. If you are only seeing the one tag we are in good shape, however, if all the leased tags are being scanned even if they are not displayed this architecture will result in crashing the gateway when put into practice.
Create P_Perm UDT
The tag group file is not correct. Needs to be exported and committed.
The aim of the TagScriptModule is to convert UDTs created from OPC drop to the format we need in this project. It also helps when we need to make sweeping changes. I originally started making this using scripting, but gave up because debugging is frustrating in Ignition.
Now that this library is intended for a larger audience, perhaps scripting should be used so it is accessible to everyone. What do you think? Would anyone on this team like to lead this subproject?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.