Forum Replies Created
-
AuthorPosts
-
manjey73ParticipantThe automatic control module is quite self-sufficient. It is impossible to build complex scenarios on it, even if you provide for some part. Therefore, for complex scenarios, additional calculation channels are used, for which you already configure the module and perform some actions to send commands.
If it needs to be even more complicated, I wrote a program execution module in which the code is written in C# in Visual Studio and communication with channels is performed. The module has not been finalized yet, but you can look at the example of ModFarm for an example of building programs.
manjey73Participantpublic bool TwoChannel (int chn1, int chn2) { bool chn12 = false; if (Val(chn1) == 1 && Val(chn2) == 2) chn12 = true; return chn12; }For example, add this formula to Scripts and then use it in an additional Calculated channel.
You can write a more complex formula for comparing channels so that you can even select the comparison values and the type of comparison. And make the script more versatile for different tasks.
manjey73ParticipantI would wait for the release of a new editor, if it is related to it. Well, or studied PlgMain.
manjey73ParticipantYou can write your own control module if you are not satisfied with the Automatic Control Module from RapidScada.
Yes, the Automatic Control Module has limitations, especially if you need to control many different parameters. You can get around this by using scripts, creating one channel that will then control the module, but it’s not always that simple.
manjey73ParticipantStatic text is not intended for giving commands, it is just some kind of text.
For control, you must use dynamic text or dynamic drawing. But you can only send one command through them.
manjey73ParticipantThe question is not entirely clear
What do you mean by multiple controls?
manjey73ParticipantNo, scripts don’t have access to send commands to devices. This can only be done by modules. For example, an automatic control module or your own.
manjey73ParticipantRapid SCADA backup strategy.pdf
For the Enterprise version, there is a backup module that somehow manages the RapiGate module in this case.
Ask for a description of this module to understand the process.
If you have two free versions, then you need to think about how to organize it, it is quite possible that you can somehow do a similar control using, for example, an automatic Control Module
manjey73ParticipantYes, Mikhail wrote that you can use the driver as a dependency and write something of your own.
You will have to work with Slice from your part of the new driver. To record data in the channels’ past.
-
This reply was modified 9 months, 3 weeks ago by
manjey73.
manjey73ParticipantThe question is, what is this event, and how many are there?
And I take it they have a past tense? then it’s writing a driver that decomposes these events in the database exactly by time.
Similar to how the driver works with archives. Modbus cannot work with device archives.
You can save them only to the current data.
manjey73ParticipantIf the registers go sequentially, you can form the command in binary form, for example, an array of bytes. And send it to the device using multiple recordings. In the template, you can additionally create the necessary commands, separate from reading the registers.
The bigger question here is that reading the main registers is current data, and you may need data from the archive, which is data from the past.
manjey73ParticipantIt’s not exactly rigid, there are default options for a short date for different languages, but you can apply your own format and output it as a string.
https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
You can also create your own short format.
manjey73ParticipantIn theory, it can be displayed on a diagram or table in a string format as you like through the Calculated channel using scripts.
Without touching the dll assembly. The channel cell stores a double representation of the time DateTime.ToOADate(). How you convert it to a DateTime and then to a string doesn’t matter.
-
This reply was modified 9 months, 3 weeks ago by
manjey73.
manjey73ParticipantApparently, it is necessary for the driver to start, that is, to make the minimum settings for its operation. If the driver is not running, for example, there is no configuration, then the PC code will not be created. See what the driver writes in the logs.
This applies to all drivers, plug-ins, and modules.
manjey73ParticipantIn the channel format properties, select D
-
This reply was modified 9 months, 3 weeks ago by
-
AuthorPosts