-
Notifications
You must be signed in to change notification settings - Fork 0
Home
We need a framework that enables Upper Layer software easily to interface with time accuracy needed for control systems.
- RX Platform enables programmers to deploy C or industrial (FBD, Ladder...) program as a definition for upper layers classes dynamic behavior.
- Also, Platform is constructed and allowed to be extended by applications written in C, C++, or industrial programing languages (FBD, Ladder Diagram)…
In example bellow you can see dynamic behavior of timer class defined in a Ladder Diagram(LD) programing language.
| MY_TMR |
| +-------+ |
| startTimer | TON | timerDone |
+----| |--+------------------|IN Q|----------( )----+
| | timerPeriod>---|PT ET|--- |
| | +-------+ |
| | |
| | startTimer |
| +-------------------------------------(R)----+
| |
Usage of this timer class in C# is shown bellow:
delegate void TimerExpiredDelegate();
class MyTimer : RX.world.SomeApp.Timer
{
TimerExpiredDelegate m_callback;
public MyTimer(TimerExpiredDelegate callback, RX::RXNodeId id=RX::RXNodeId::newID())
: base(id)
{
m_callback = new TimerExpiredDelegate(callback);
}
public void Start(UInt32 period)
{
timerPeriod = period;
startTimer = true;
}
protected override void timerDoneEvent(RX::RXValue val,RX::RXStatus status)
{
if (val.IsGood && val.asBool() == true && m_callback != null)
m_callback();
}
}
.....
MyTimer timerInstance = new MyTimer(() =>
{
Console.WriteLine("TimerFired");
});
timerInstance.Start(1000);
There are several reasons for writing this kind of framework:
-
All current Open Source Projects that are widely accepted are oriented to Cloud/Enterprise Solutions (NodeJS, MongoDB, NGiNX ...)
-
Proprietary Software Solutions for Real-Time Platform already exists from Global Market Players (large engineering and industrial companies), and I think it's time to write a piece of software to cope with that.
-
Create even better one by integrating it with all widely used Software Frameworks and Languages, also providing support for all Hardware Platforms and Operating Systems.
-
Industrial Networking is being more and more cooperative so with a support of couple of Standardized Protocols one can easily connect to virtually any Industrial Control System. This minimizes expenses of creating and certificating (it might be needed in Industrial Environment) Protocol Software.
-
Industrial Languages are also Standardized and there is no need for customization regarding Industrial Type Languages.