I’m preparing an application to show some periodic alarms (for maintenance tasks) that are independent from the project. I store in the user partition a file with the defintions of the alarms (code, periodicity, …) and when the PLC starts it reads this file and populates and array. This part is done and working correctly.
Now I’m facing the problem of showing a message for each of these alarms. I’d like the messages to be localizable. When getting the messages for the alarms (with library ArTextSys), I’d like to look first at the localizable texts in the project and if they are not there then look in a .tmx file saved in the user partition. I’ve already been able to do the first part but I’m having troubles finding a way to read a .tmx file in the user partition. Is this possible?
In the help I found a chapter called “Creating and transferring project-independent text modules” that uses RUC, but I’d like to avoid such solution. I’d like to simply use an ftp client if the .tmx file has to be updated.
Thanks for the answer. I guess I could use FileIO and AsXML to read the content of the file, but I wanted to avoid the trouble and use directly the ArTextSys library. But the functions of ArTextSys only seems to accept .tmx files that are part of the project, not ones stored in the user partition.
Do you know if there’s a way to use ArTextSys functions on files in the user partition?
sorry, but as I know, it’s not possible to access an tmx file by ArTextSys library.
Before texts in tmx files are used in Automation Runtime, these files are compiled to BR modules and transferred to the PLC. So, a unmodified / uncompiled tmx file is not usable by the AR text system, and therefore also cannot be accessed by ArTextSys.
This is also the reason why a project independent language file has to be built by Automation Studio and to be transferred via RUC - the text data isn’t used by AR in it’s native tmx file format, and creating it by AS and downloading it via the online protocol is the only valid way to inject this data into the runtime.