Forum Replies Created
-
AuthorPosts
-
manjey73
ParticipantThere is no access
manjey73
ParticipantAre you looking for the cheapest option to read DNP3?
Perhaps you should really look for another Scada solution where DNP3 is supported?manjey73
ParticipantToshiba TB 1000 – the Internet says it’s a hard drive.
It is not so important, since you use Windows for Scada, then both OPC DA and OPC UA servers for the DNP3 protocol will suit you. But I would look to the future and look specifically for an OPC UA server for this protocol. As they say, look for the pocket (the price that suits you)manjey73
ParticipantWell, first you need to find an OPC server for DNP3. Depending on the OS, it can be either OPC DA or OPC UA.
Which OS are you installing Rapid Scada on?
manjey73
ParticipantEither a gateway or an OPC server.
There is no native DNP3 driver in Rapid Scada.manjey73
ParticipantReplaced the channel with the Unicode string type. Now accepts in Russian (or any Unicode) and English normally.
manjey73
Participantmodbus is integrated into the system
There is nothing for Bacnet. What OS do you have? You can use OPC from Insat (Russian) or any other company.manjey73
ParticipantBut there is a gateway-bridge and a rest api that can be used when writing a driver or module. And you can also try importing from Influxdb
manjey73
ParticipantUnfortunately, not yet, I suggested to Mikhail to add such an opportunity, since it was asked about back on version 5
October 22, 2024 at 8:47 am in reply to: Rapid SCADA 6.3.1 Installation, TCP port 10002 already in use. #15541manjey73
ParticipantChange the ScadaAgent port to another one other than 10002
<?xml version="1.0" encoding="utf-8" ?> <ScadaAgentConfig> <ListenerOptions> <Port>10002</Port>
See the configuration file in the ScadaAgent\Config folder. After that, restart the services.
Also, when configuring the configuration, specify this port in the project Instances-
This reply was modified 11 months, 2 weeks ago by
manjey73.
manjey73
ParticipantWith the Date and Time format, it is transmitted as a string, Cmd is not suitable here
Input Script –
Val()
Output Script –GetStrDt(CmdDataStr)
orGetStrDtToUtc(CmdDataStr)
Script Table
For Locale Timepublic double GetStrDt(string dt) { SetVal(CnlNum, EncodeDate(DateTime.Parse(dt))); return EncodeDate(DateTime.Parse(dt)); }
For UTC Time
public double GetStrDtToUtc(string dt) { SetVal(CnlNum, EncodeDate(DateTime.Parse(dt).ToUniversalTime())); return EncodeDate(DateTime.Parse(dt).ToUniversalTime()); }
manjey73
ParticipantIn a simple version, you can control it through the start variable
In this case, the PLC does not actually stop, it does the work of “Doing nothing”if (start) { Your program } else do nothing
manjey73
ParticipantIt seemed to me that the start and stop of the PLC is not related to the protocol, it is a higher level.
But it can also be solved through protocol variables, but for this your PLC program must be written accordingly. These are fundamentally different approaches.October 15, 2024 at 8:27 am in reply to: Seeking Guidance on Rapid SCADA Configuration for Real-Time Monitoring #15518manjey73
ParticipantData Acquisition: How do I connect my PLC to Rapid SCADA: ?? Are there specific drivers or protocols I should be aware of: ??
What kind of PLC do you have?
Does it support the Modbus protocol?Visualization: I want to create user friendly dashboards. What are the best pracices for designing visualizations in Rapid SCADA:?? Any tips on using the built-in components effectively: ??
What exactly do you want to draw?
There are video tutorials on Yutube
September 14, 2024 at 12:07 pm in reply to: How to retrieve data from the Channels table in a custom module? #15457manjey73
ParticipantCnl CnlArc = ServerContext.Cnls.ArcCnls.Values.Where(x => x.CnlNum == cnlNum).FirstOrDefault();
It is possible to get from the Scada Module in this way through the required channels.
where is CnlNum the channel number you needThere are 4 types of channel lists
ArcCnls – all channels that can be saved in the database
CnlOut – output channels only
Calculated and another one where the input channels are// Каналы Archive - все Input, InputOutput, Calculated, CalculatedOutput try { Cnl CnlArc = ServerContext.Cnls.ArcCnls.Values.Where(x => x.CnlNum == cnlNum).FirstOrDefault(); if (CnlArc != null) { if (!dictCnl.ContainsKey(Name)) // Сразу добавлять в словарь наверное не получится, так как неизвестен поток ??? Известна программа { dictCnl.Add(Name, CnlArc); } } } catch { moduleLog.WriteLine($"НЕТ ArcCnls"); // TEST } // Каналы Output try { Cnl CnlOut = ServerContext.Cnls.OutCnls.Values.Where(x => x.CnlNum == cnlNum).FirstOrDefault(); if (CnlOut != null) { if (!dictCnl.ContainsKey(Name)) { dictCnl.Add(Name, CnlOut); } } } catch { moduleLog.WriteLine($"НЕТ OutCnls"); // TEST } }
So I add the channels I need to my dictionaries as an example.
Next, you can study Cnl CnlArc and take the necessary actions depending on the Data Types, format, etc.
-
This reply was modified 1 year ago by
manjey73.
-
This reply was modified 11 months, 2 weeks ago by
-
AuthorPosts