Forum Replies Created
-
AuthorPosts
-
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 1 year, 2 months 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
manjey73ParticipantIt seems that the fact that the Server sends a command does not guarantee that the device executes the command. For example, an erroneous value that the device will not accept.
It is necessary to wait for feedback from the device driver.
manjey73ParticipantYou need to replace the used dll files from the current version of Scada in the utilities
manjey73ParticipantI’m afraid nothing will help here. Charts, reports, they operate channels. And here is an array of channels that contains the full text.
What is it for? maybe just operate with numeric values and display text through enumeration ?
manjey73Participant
manjey73ParticipantChartPro are not designed to work with text arrays of channels.
manjey73ParticipantBecause you write the first 8 bytes of Ascii into each cell.
The SplitAscii formula must be applied
SplitAscii(()=> CheckModeSelectText())
manjey73ParticipantNobody bothers to loop the data, right? In version 6, Modbus slave (paid) allows you to create variables based on calculated channels. We configure the Modbus slave, then the Modbus master on itself. And voila, you get the data source for OPC UA.
The same option can probably be done with MQTT.🙂
manjey73ParticipantI connected to a real PLC on WinCE, and the owner of the installation from the PLC went remotely to the PLC and added the IP of the computer from which we connected to the allowed ones. Without this, it is impossible to connect to a PLC. These are security measures. If you don’t have this option, you probably won’t be able to connect to your PLC.
manjey73ParticipantYou can try to poll the driver without the *.tpy file. Create an empty template, specify the NetID and port. As far as I know, it is necessary to allow connection to the controller through the administrative means of the controller so that the scada is in the allowed IP addresses.
Next, set up a PLC Scan and start the line.
Some series of controllers store a symbolic configuration inside the controller, others will simply output a list of variables without a symbolic configuration. We’ll figure it out next.
You can also install the Twin Cat 2 Engineering version on your PC and try searching for your PLC to determine its NetID. -
This reply was modified 1 year, 2 months ago by
-
AuthorPosts