Search the Community
Showing results for tags 'database query'.
Found 19 results
Periodic Database Connection Check
kdobsontn posted a topic in NJ Series / Sysmac StudioI would like to get some feedback or alternate suggestions in terms of monitoring a database connection. The attachment here shows the current programming for the DB_Connect function block which requires the Execute input to constantly be ON. From what I can tell, if the connection is dropped - let's just say the Ethernet cable is unplugged - this input will still be on, and according to the function block, still connected. The Get1minClk is in place to continuously try establish this connection once powered on, but I cannot find any way to periodically check this connection without dropping it and reestablishing it. My understanding is the _DBC_Status.Run only checks that the PLC service is running properly, but is there a way to monitor a heartbeat of the connection TO the database? The only way I've found thus far is to drop the connection and reconnect. But this would be detrimental to the system as it would possibly be reconnecting to the database while trying to write to out to it and hold up the show. As it stands in the second image, the Ethernet cable is unplugged, but the connection shows no errors. Thanks and happy Friday! -K
FactoryTalk SE - VB Script
JBird1229 posted a topic in Allen Bradley / Rockwell AutomationHey guys, I am looking to query a database through FactoryTalk SE. I will be scanning packages, and using that bar code to find a lane assignment from the database. My question has to do with where the VB script will reside in the FactoryTalke SE program. I want this script to run at all times. I see that each screen has a "VBA Code" but I am assuming that these will only run when the screen is visible. Where does this have to be stored in order to run all the time? Thanks In Advance!
How to create a trend - from a database-table in Citect Scada (v7.40)
rajsiyer posted a topic in HMI & SCADAHi friends, The scene is like this... I have some 200 energy meters whose readings are continuously logged at 15-min intervals into a logging table. The meter does not have any other value logged. Let's consider these readings as analog tags. However these tag values are continuously increasing to ever larger numbers. Thus we have a problem for display on trends. Customer now requires that the Citect shows usage trends for any meter for a specified period of the past. That is to say, the meter that he wishes to observe is selected - along with a period typically between 2 dates (perhaps also with a sampling period) - and the trend must appear. So in other words, given a single trend object, how do you make values appear for any selected tag on this trend. Perhaps this can be overcome by some genie/super-genie mechanism. My approach to this is...For the selected meter, I use SQL to query the 15 minute logged values (also taking into account the required sampling period) taking the reading on starting date as initial. All values thereafter are subtracted -within the SQL query- and the result of this query is kept in a 2 dimensional array(x for time, Y for value) or a new database table so that the trend displays values starting with zero. This much I can do with Cicode. After this, I need a method to display the values so obtained in a trend object. Essentially this is the same as feeding a trend object with a set of X & Y values that I have in the form of an array or in a database table. I shall greatly appreciate any help to meet the above objective. Thanks for looking in. With best wishes.
Help on Cimplicity 8.2 Historical Alarm Viewer
demitriuss posted a topic in HMI & SCADAHi, guys.I am struggling to develop a solution for a costumer in a Historical Alarm Viewer screen, I am new to Cimplicity and to database supervisory interface. Among other things, the customer is asking to:- Change the "A"; "R"; "G"; "N" notations under "log_action" column to somenthing more intuitive for the users (operation). Please have a look at the image "image.jpg";-Change the point manager process "MASTER_PTMR0_RP" log under "logged_by" column to the user that is currently logged in. Specificaly saying, when I send a command (changing a setpoint or issue a reset command, for example), although it is the user acting, the historical alarm viewer logs the action as "MASTER_PTMR_RP". I Imagine that is because this process is reponsable for exchange point data to/from the IHM points database, but it is still essential to the system administrator to know which user sent that reset command or changed the variable setpoint.The log inputs at the image "image.jpg" has boolean and integer commands (".CXX" sufix);-Log into the historical alarm viewer if the user logs out and what user logged in.It is valid to mention that I am using the ALARM_LOG table (apparently it is the only table working with the application, DATA_LOG, EM_LOG and the others simply do not work, they don't show any column at all, honestly I don't know why).I tried to use Microsoft SQL Server Management Studio to edit the table information, but, somehow, it seems to be blocked to edition.I imagine they are some specific configurations, but I have no idea on how to acomplish them. Maybe if I could use other tables would fulfill the requirements, but , like I said, they are not working (right now I am trying to re-configure the Database Logger from the beggingin to see if it works with other tables).If you could give me some inisights on how to change these settings I would be very grateful. I will be happy to give more information if needed.Thanks in advance.
Micro 850- ASCII query/command and response
Arceus posted a topic in Allen Bradley / Rockwell AutomationI have been working on a PLC project that requires sending ASCII commands/queries to an external pressure transducer using the Micro 850 PLC (2080-SERIALISOL module) via serial port communication (ASCII protocol) and in response the PLC would read pressure readings from the transducer. I was able to write a ladder logic program that reads ASCII code from the transducer and converts it into string and inversely converts string output from the computer to ASCII and sends it to the transducer. However, I am uncertain as to how I should send the command string from my computer so that the external transducer receives it, recognizes it after the <cr><lf> is encountered and sends a pressure reading. Any suggestions as to how I can type in commands from my computer and receive responses from the transducer?
Citect Cicode database write line length restriction
hmwright posted a topic in HMI & SCADAI am having a problem getting citect to write to my sql database. Whilst it will write I am restricted by the length of a single cicode command. I think its 255 characters. For my problem I am trying to write 48 tags to the database in one write command to obtain 1 time stamp. Is it possible to write multiple times to the same tables row ? Currently when I write a new row is created at the given timestamp. the cicode is attached. A solution would be to do 4 writes of 12 tags at a time but all would need to go in the same MSSQL table row. I'm ok using the data instead of time and date as this write only happens once each day Any help would be awesome.. *********************************************************************************************************************************** /* ** FILE: SpurLoad.CI ** * Load Tags from Citect in TO temp array */ STRING tagname="M340_PwrCtrl_SLD0000","M340_PwrCtrl_SLD0030","M340_PwrCtrl_SLD0100","M340_PwrCtrl_SLD0130","M340_PwrCtrl_SLD0200","M340_PwrCtrl_SLD0230","M340_PwrCtrl_SLD0300","M340_PwrCtrl_SLD0330","M340_PwrCtrl_SLD0400","M340_PwrCtrl_SLD0430","M340_PwrCtrl_SLD0500","M340_PwrCtrl_SLD0530","M340_PwrCtrl_SLD0600","M340_PwrCtrl_SLD0630","M340_PwrCtrl_SLD0700","M340_PwrCtrl_SLD0730","M340_PwrCtrl_SLD0800","M340_PwrCtrl_SLD0830","M340_PwrCtrl_SLD0900","M340_PwrCtrl_SLD0930","M340_PwrCtrl_SLD1000","M340_PwrCtrl_SLD1030","M340_PwrCtrl_SLD1100"; /* add array TO hold values */ STRING tagval; INT hSQL; FUNCTION SQL_INSERT_lds() /* Loop FOR number of tags (13 lots of 30 min) TO be read adding to array Variables */ INT i; FOR i = 0 TO 21 DO tagval = TagRead(tagname); END /* Open ODBC connection TO CitectDB configured in ODBC Manager with DSN_SQL */ hSQL = SQLConnect("DSN=DSN_SQL"); /* IF connection IS OK, insert in TO table "lds" the values */ IF hSQL <> -1 THEN SQLExec(hSQL, "INSERT INTO lds (dateandtime,S0000,S0030,S0100,S0130,S0200,S0230,S0300,S0330,S0400,S0430,S0500,S0530,S0600,S0630,S0700,S0730,S0800,S0830,S0900,S0930,S1000,S1030) VALUES (SYSDATETIME(),'"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval +"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"','"+tagval+"')"); SQLEnd(hSQL); SleepMS(100); SQLDisconnect(hSQL); ELSE Message("Error Message","SQL TRADING DAY DATABASE WRITE FAIL",48); END END SpurLoad.ci
Sysmac studio changing size of array
vasekd posted a topic in NJ Series / Sysmac StudioIn the machine is array with size 100 (ARRAY [1..100]]. Can I simply change it to 200 without data loss?
iFIX 5.9 - FIX Dynamics Real Time Database - Database Columns
JC posted a topic in GEHello, I am having an issue with FIX Dynamics Real Time Database and the database columns available within when trying to query the database. On a system running iFIX 5.0, there are 19 data columns available, LHS of attached screenshot (in the screenshot example, crystal reports is used to view the columns). However in iFIX 5.9, only 15 columns are available (RHS of attached screenshot ), how can these missing columns be made available to be accessed? Regards, John
FactoryTalk View SE Alarm Log Export
JacoRoselt posted a topic in Allen Bradley / Rockwell AutomationGood day, I would like to extract the FT View SE Alarm Log. We currently have got a Excel spreadsheet set up with a connection to the FTAE SQL Database. When I refresh the data, Excel give an error telling me that the data is more than what can be displayed in a spreadsheet. So it then discards the latest data. I have tried setting a database limit in the Factory Talk Administration console to only keep the last 60 days worth of data but it does not seem to take effect. I get data from January 2017 up to 15 October 2018. Is there a way to configure the ODBC connection in excel to only give me the data for the last 30 days or is there someone that can help me to limit the size of the database? I have attached the current connection config.
RSView32 VBA Run-time error '4205'
tcrwlngs posted a topic in Allen Bradley / Rockwell AutomationAnyone with knowledge of a VBA Run-time error '4205' Can't find the project database! VBA stops at gTagDb.GetTag Here are some things I already tried. Cleared the CACHE files in the project. Deleted .CAC file in TAG folder, Removed Watcom SQL 4.0 from ODBC User DSN. Uninstall and Re-install RSView32 Works 7.50 and then upgraded to 7.60.
FTView SE (Local Station) - Offline .ACD Connection
JBird1229 posted a topic in Allen Bradley / Rockwell AutomationHey guys, I have worked on the FTView ME platform many of times. I am now working on a FTView SE (Local Station) application, and I am having trouble connecting an Offline .ACD file to my program so that I can design. If someone could help me with this it would be greatly appreciated. Thanks in advance!
PLC and Other Automation Hardware Asset Tracking
Beau posted a topic in Allen Bradley / Rockwell AutomationI want to create a database that keeps track of all of the different PLC and automation hardware (Remote I/O, Flex I/O, Robots, etc.). It would include data such as firmware version, when the backup battery was last replaced, location, etc. I have started doing this in MS Access but I was curious if anyone knew of an existing software that already does something similar?
Legacy Factory Talk View Project
Studiologe posted a topic in Allen Bradley / Rockwell AutomationGood morning everyone! I tried to open an older project with Factory Talk View ME which was last opened with “FactoryTalk View Studio 5.0 “. The current version that I have installed and licensed is Release Number 9.00.00 (CPR 9 SR 9), Patch/Pack Number: 00, Build Number 241. Upon opening the project, I receive the following error message: “The target HMI project is a legacy project (Factory Talk View v6.00 or earlier). Please use the legacy Tag Database utility to convert its tag database to the new format (Factory Talk View v6.10 or later) before opening the HMI project on a computer running on a 64-bit operating system. Refer to Help for guidance.” I tried to use the Legacy Tag Database Conversion tool, selected “Create Factory Talk View Tag Database in new format”, then I selected “Factory Talk view Machine Edition”, selected the source folder and used the option to “Search Sub-folders”. After hitting the Next button it shows a list of available projects, but the one project that I try to convert is not listed. Any ideas how to approach this? Is it possible to install multiple revision supports with Factory Talk View? So, far I always used the latest and just created the run time as an older version, if the panel I used wasn’t updated. Please let me know what you guys think I should try.
Not Able to open Tag Database in FactoryTalk View Studio SE
Rishikesh posted a topic in Allen Bradley / Rockwell AutomationI am using FactoryTalk View Studio SE 8.20 to develop SCADA Application, and whenever I tried to open Tag Database it shows error "an error occurred while attempting to open the tag database editor" and not able to Open Tag database. Does anyone know solution for this? Error Screenshot Attached
Visu+ SCADA Query timeout exceeded on SQL Server 2014
Bruna Pozzato Tavares posted a topic in Other PLCsI have an application in the Visu+ Scada System, from Phoenix Contact, which makes a query in the SQL Server 2014 database. While the database was empty, queries were made perfectly, after 4 months the database grew up absurdly and then stopped running the query, returning the following error: Query timeout exceeded. I have a general table with 210 variables being written every 20 seconds. The query is made by updating the parameters in another single row table, it generates a trigger that copies the requested query to a third table and it is plotted on a chart in the supervisory system. The error occurs when Visu+ sends the parameters to be updated in the second table, returning "Query timeout exceeded.". However, when I update directly through SQL Server, it updates, generates the trigger and performs the requested query. Could someone help me solve this timeout problem, please? Thank you very much in advance!!
Problems in Step 3 - FT Transaction Manager - Allen Bradley
alex217 posted a topic in Allen Bradley / Rockwell AutomationHi, this is my problem, I created an app on FT Administration Console, in fact, one for network and one for local, I changed the connection to local on Log On FT, but, when I try to define the data points on Step 3 of configuration checklist, only shows me the network app, i select the app, after click OK, the FTTM freezes, anything else happens, I don´t know what am I doing wrong.
Setup connexion between PLCs and Database
mohammed.cgf posted a topic in Modicon / Telemecanique / Schneider ElectricHello everyone, I hope you are all doing very great, I'm new to Schneider PLCs and I have a project that I need to work on, so I will need your help with the following issues: *) How can one determine which Schneider PLC series is used if you only have a fuzzy picture of the PLC ? *) I need to setup a historic of alarms, I have 13 PLCs, no connexion between them... I was thinking about creating a connexion between those PLCs and a database, so I need your help to determine a list of ALL the materials i will need (from cables to servers to a computer if necessary...) and some documentation on how that can be done... Thank you so much for helping me, Best regards
Modbus TCP Data Logging to Database
gclshortt posted a topic in HMI & SCADAHere is a recent post that I would like to share. Using Visual Basic 2015 we will log three holding registers from the PLC along with time and date into a Microsoft Access Database. We will log every minute into the database with the information that we collect from the PLC via Modbus TCP (Ethernet). All code will be done and shown so you can implement this in your application with different parameters. The information collected in the database can then be distributed or analyzed in the future. Visual Basic 2015 will be used with the EasyModbusTCP client/server library for .net. We will communicate to an Automation Direct – Do-More PLC. Using the free simulation software of the PLC Designer Software, we will retrieve three values of the Modbus Holding Registers using Modbus TCP. Once we have this information out of the programmable logic controller it will be placed in a Microsoft Access (2010) Database. This will be done by using a SQL command to insert the data. Read the rest of the post... Let me know what you think, Thank you Garry http://accautomation.ca/
Step by Step Do-More Logging Tutorial
gclshortt posted a topic in Automation Directhttp://accautomation.ca/now-you-can-have-robust-data-logging-for-free-part-1/ YouTube overview: https://www.youtube.com/watch?v=6Xa2HYVOxE0 Robust PLC Data LoggerWith traditional loggers, software will read the memory of the PLC and store in a local computer. If the network stops or the PLC communication fails then the logging will stop.Creating a robust PLC data logger allows the communication to be stopped for a period of time without losing any of the data for collection. This is accomplished by storing the data locally on the PLC until communication is restored. All of the data is then read without loss. The amount of time that the connection can be lost will be dependent on the memory size of the PLC and the frequency of the data collected.This series will walk you through the steps to create and implement a robust PLC data logger using the following equipment and hardware. Automation Direct – Do-More – H2-DM1E PLC (Ethernet Modbus TCP)Do-more Designer 1.3 (Simulator instead of PLC mentioned above)Windows based computer running IISVisual Basic 6Regards, Garry http://www.accautomation.ca