Forum Replies Created
-
AuthorPosts
-
August 6, 2025 at 8:32 am in reply to: Auto Control Module : Multichannel Trigger between specific time #16794
manjey73
Participantreturn (Timestamp.Minute >= 0 && Timestamp.Minute < 6) && (……)
August 4, 2025 at 4:55 pm in reply to: Auto Control Module : Multichannel Trigger between specific time #16790manjey73
ParticipantThe time has a Minutes parameter, so you can check for >=0 && <=30 in the script.
and in addition to checking the required hour.August 2, 2025 at 9:18 am in reply to: Auto Control Module : Multichannel Trigger between specific time #16779manjey73
ParticipantThere are scripts that perform functions every hour. For example, returning a value to the channel
EveryHour(() => Val(101))
Here, the channel in which you wrote this script returns the value from channel 101.Instead of Val(101) maybe your function will check the hour value of 6,8, 10, and so on and return the desired value if it matches.
You can also use a time trigger in Auto Control Module
August 1, 2025 at 9:30 am in reply to: Auto Control Module : Multichannel Trigger between specific time #16772manjey73
ParticipantAdd it to the script table.
In the Calculated channel, write the input formulaCheckHour(8, 20)
August 1, 2025 at 9:26 am in reply to: Auto Control Module : Multichannel Trigger between specific time #16771manjey73
Participantpublic double CheckHour(int hourLow, int hourHigh) { bool res = false; if(DateTime.Now.Hour >= hourLow && DateTime.Now.Hour < hourHigh) res = true; return Convert.ToDouble(res); }
I specifically convert to double and apply public double so that I can apply the script inside another script.
Instead of DateTime.Now you can apply DateTime.UtcNow on the situation. You can also remove the hourLow and High ads and specify the required hours instead. But it looks more versatile this way.
I haven’t checked it in action.August 1, 2025 at 6:54 am in reply to: Auto Control Module : Multichannel Trigger between specific time #16768manjey73
ParticipantIt seems to me that you need to do all this inside some kind of script with the return of the value through return.
public bool MyFunc() { bool res = false; if(hour() >= 8 && hour() < 20) res = true; return res; }
And what exactly is hour() here?
-
This reply was modified 2 months ago by
manjey73.
August 1, 2025 at 6:51 am in reply to: Auto Control Module : Multichannel Trigger between specific time #16767manjey73
Participantif(hour() >= 8 && hour() < 20)
– That’s right, but what comes next is completely incomprehensible to the language., 1, 0)
What did you want to get with your record? an analog
? 1:0
???manjey73
ParticipantIt seems to be easy to switch between these versions by simply copying files without affecting the Config folder (I do this). And updating all modules and other relevant ones.
I recommend 6.4.1 – now there is no need to create your own windows to display the PC code, and you can use a regular window with your own PC code file and your own links in the registration window 🙂
manjey73
ParticipantRapid SCADA 6.2.0 (27.01.2024)
Server 6.2.0.0Apparently, your Scada version is still 6.2.0
manjey73
ParticipantThere was a similar error when switching from version 6.3.X to 6.4.x, or even when switching to 6.3.X, some methods changed there. And it’s possible that your module version doesn’t match the kernel version.
Check the version history in the documentationmanjey73
ParticipantNetFramework 4.8 and Dotnet 8 are different systems.
You need to install two components from dotnet 8 according to the installation description.
Current version 8.0.18https://dotnet.microsoft.com/en-us/download/dotnet/8.0
Hosting Bundle and .NET Desktop Runtime 8.0.18
manjey73
ParticipantWhat errors are indicated during installation?
manjey73
ParticipantWell, use Modpoll as shown in the device documentation. If he answers, try to compare why he is not responding in scada.
Also try to read just one element with the command 02
Also check the InputRegisters reading.manjey73
ParticipantJudging by the images from the Modpoll configuration documentation, everything seems to be the same, but your device simply does not respond to one of the commands.
Perhaps the manufacturer changed something in the new version and did not update the documentation.
If this command was supported, but you got the wrong address, the device would give an error response. Try polling one register from 0 using Holding Registersmanjey73
ParticipantAnother example of event generation from the driver
You probably need to make a derived driver for events from the device. Connect the DrvModbus driver as required. As a channel, make something like an indicator of the presence of an event to save the time of occurrence in the database. Maybe an event counter.
If the events that have occurred are sequentially arranged in the event buffer, and their sequence may be different, this is probably the best option. Creating a list of events should probably be done through for(foreach) and selecting them from the list of possible ones. -
This reply was modified 2 months ago by
-
AuthorPosts