scada | Contains Rapid SCADA sources | TCP library
kandi X-RAY | scada Summary
kandi X-RAY | scada Summary
Rapid SCADA is full featured SCADA software that supports MODBUS and OPC.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of scada
scada Key Features
scada Examples and Code Snippets
Community Discussions
Trending Discussions on scada
QUESTION
I am trying to get data (T_Stamp, Destination, Weight, Line) from two tables using variable time intervals and a destination selection. This is going into an Ignition SCADA. My SQL code below works for most cases except when there are entries into both tables with the same timestamp. In those cases it shows only the data from table A. This is giving me results with the incorrect destination. I understand that the COALESCE function is returning the first Non-null value, but I don't know how else to write this logic.
...ANSWER
Answered 2021-Apr-08 at 18:50I suspect what you want is something like the following, which uses a UNION
instead of a JOIN
.
QUESTION
I have a dataframe, whose values are lists. How can I calculate product of lengths of all lists in a row, and store in a separate column? Maybe the following example will make it clear:
...ANSWER
Answered 2021-Mar-17 at 11:21Try using DataFrame.applymap
and DataFrame.product
:
QUESTION
Estoy usando Flask y SqlAlchemy, el caso es que tengo una base de datos principal y luego tengo varias bases de datos donde saco otro tipo de informacion. Pero las credenciales no estan definidas como fijas, por lo que tengo que obtenerlas desde una tabla de la base de dato principal, dependiendo la planta en la que se encuentra el usuario. Para ello uso SQLALCHEMY_BINDS. el problema es que cuando intento pasarle al Bind la cadena de conexion me dije que la funcion que la retorna se encuentra fuera de contexto. Aqui una porcion del codigo
...ANSWER
Answered 2021-Mar-06 at 15:27You code must be called from a view, so there is the "request context".
You should also have a look at the official documentation:
https://flask.palletsprojects.com/en/1.1.x/reqcontext/
I am pretty sure stackoverflow does not allow non-english content and your question will be closed soon.
Don't shoot the messenger, this was not my idea.
QUESTION
EDIT I think I now know what the issue is - The copy numbers are not REALLY part of the filename. Therefore, when the array pulls it and then is used to get the match info, the file as it is in the array does not exist, only the file name with no copy number.
I tried writing a rename script but the same issue exists... only the few files I manually renamed (so they don't contain copy numbers) were renamed (successfully) by the script. All others are shown not to exist.
How can I get around this? I really do not want to manually work with 23000+ files. I am drawing a blank..
HELP PLEASE
I am trying to narrow down a folder full of emails (copies) with the same name "SCADA Alert.eml", "SCADA Alert[1].eml"...[23110], based on contents. And delete the emails from the folder that meet specific content criteria.
When I run it I keep getting the error in the subject line above. It only sees the first file and the rest it says do not exist...
The script reads through the folder, creates an array of names (does this correctly). Then creates an variable, $email, and assigns the content of that file. for each $filename in the array. (this is where is breaks)
Then is should match the specific string I am looking for to the content of the $email var and return true or false. If true I want it to remove the email, $filename, from the folder.
Thus narrowing down the email I have to review. Any help here would be greatly appreciated.
This is what I have so far... (Folder is in the root of C:)
...ANSWER
Answered 2021-Feb-16 at 16:21[System.IO.Directory]::EnumerateFiles($Folder) |
Where-Object {$true -eq [System.IO.File]::ReadAllText($_, [System.Text.Encoding]::UTF8).Contains('SYS$,ROC') } |
ForEach-Object {
Write-Host "Removing $($_)"
#[System.IO.File]::Delete($_)
}
QUESTION
The local server (SCADA System) uses SQL Server, and the linked server (ERP System) uses Oracle.
The current situation is as follows:
The ERP system has a table on its server to which all batch orders are consistently updated. I have access to that table, but I cannot manipulate / configure anything from the ERP side. Any configuration / querying must be done on the local server.
I tried querying rows directly from the ERP table, but for some reason that causes a ~30s delay. I then created a local table and inserted all rows from the ERP table, to see if there still would be a delay if I'm querying from the new local table. No delays there. So I figured if I could keep the local table updated as with the ERP table, I just need to use the local table.
So my question is, without the ability to configure / manipulate the ERP side, is there a way to insert all new rows that are updated on the ERP table to our local table?
...ANSWER
Answered 2021-Jan-28 at 04:04Typically DBAs for ERP systems don't like to change the main ERP model schema because it creates more objects to deal with during application upgrades - vanilla application upgrades are usually preferred.
What they do sometimes tolerate is to create triggers on the ERP table into another table (your design) inside another Oracle schema which you can manipulate at will.
From this table, you can decide to pull the data into MSSQL through your linked server setting flags as you go or deleting old data so your data fetch is minimized for each call. Typically calling a stored procedure in the new Oracle Schema to perform table updates or deletions seems to work better because linked servers are very slow when pulling data over to the MSSQL side to work on them.
Another alternative (which is much faster than using a linkedServer) is to use a Windows service or a scheduled script(ex VBS) on a windows server to talk to both Oracle and MSSQL to achieve the same objective. This could be done on the original table directly or in the new one. You would have figure out your polling intervals depending on your near-to-realtime requirements.
QUESTION
I'm downloading two files from a C-More industrial HMI FTP server. I don't know what OS the HMI is running but I suspect that its FTP server has some quirks. Using Jython 2.7, one file can be read without difficulty but the other has a space in the file name and the normal wrap-in-quotes solution doesn't work - yet.
The following works in the Windows 10 FTP client.
...ANSWER
Answered 2020-Dec-21 at 13:53The ftplib has no issue with spaces. The problem are the quotes you add to the RETR
command. There should be no quotes:
QUESTION
DB: SQL Server 2008.
I have following query:
...ANSWER
Answered 2020-Dec-20 at 16:59It's because when the object db.schema.sqlt_table_1
doesn't exist the statement fails. It doesn't matter if the statement won't run, the batch must still be valid.
The statement @VAR = (SELECT 1.0 FROM db.schema.sqlt_table_1);
isn't even valid though. You would be better off with this:
QUESTION
I am working on one VB.NET Based SCADA System. My application working fine on all my machines. When there is sudden power failure or shutdown after we start system application not opening. In Event viewer Showing Following Error. There R_LOT_SIZE is MY.Setting Variable. If My.setting property holds any value and we shutdown system getting this error.
The process was terminated due to an unhandled exception. Exception Info: System.Xml.XmlException at System.Xml.XmlTextReaderImpl.Throw(System.Exception) at System.Xml.XmlTextReaderImpl.Throw(System.String, System.String[]) at System.Xml.XmlTextReaderImpl.ParseText(Int32 ByRef, Int32 ByRef, Int32 ByRef) at System.Xml.XmlTextReaderImpl.ParseText() at System.Xml.XmlTextReaderImpl.ParseElementContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlTextReader.Read() at System.Xml.XmlTextReaderImpl.Skip() at System.Xml.XmlTextReader.Skip() at System.Configuration.XmlUtil.StrictSkipToNextElement(System.Configuration.ExceptionAction) at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(System.Configuration.XmlUtil, System.String, Boolean, System.String, System.Configuration.OverrideModeSetting, Boolean) at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(System.Configuration.XmlUtil, System.String, Boolean, System.String, System.Configuration.OverrideModeSetting, Boolean) at System.Configuration.BaseConfigurationRecord.ScanSections(System.Configuration.XmlUtil) at System.Configuration.BaseConfigurationRecord.InitConfigFromFile() Exception Info: System.Configuration.ConfigurationErrorsException at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean) at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(System.Configuration.ConfigurationSchemaErrors) at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors() at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(System.Object, System.Configuration.Internal.InternalConfigEventArgs) Exception Info: System.Configuration.ConfigurationErrorsException at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(System.Object, System.Configuration.Internal.InternalConfigEventArgs) at System.Configuration.Internal.InternalConfigRoot.OnConfigRemoved(System.Configuration.Internal.InternalConfigEventArgs) at System.Configuration.Internal.InternalConfigRoot.RemoveConfigImpl(System.String, System.Configuration.BaseConfigurationRecord) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(System.String, Boolean, Boolean, Boolean, Boolean, System.Object ByRef, System.Object ByRef) at System.Configuration.BaseConfigurationRecord.GetSection(System.String) at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(System.String) at System.Configuration.ConfigurationManager.GetSection(System.String) at System.Configuration.ClientSettingsStore.ReadSettings(System.String, Boolean) at System.Configuration.LocalFileSettingsProvider.GetPropertyValues(System.Configuration.SettingsContext, System.Configuration.SettingsPropertyCollection) at System.Configuration.SettingsBase.GetPropertiesFromProvider(System.Configuration.SettingsProvider) at System.Configuration.SettingsBase.GetPropertyValueByName(System.String) at System.Configuration.SettingsBase.get_Item(System.String) at System.Configuration.ApplicationSettingsBase.GetPropertyValue(System.String) at System.Configuration.ApplicationSettingsBase.get_Item(System.String) at FX3U_PLC.My.MySettings.get_R_LOT_SIZE() at FX3U_PLC.MainNew.InitializeComponent() at FX3U_PLC.MainNew..ctor() Exception Info: System.InvalidOperationException at FX3U_PLC.My.MyProject+MyForms.Create__Instance__[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.__Canon) at FX3U_PLC.My.MyProject+MyForms.get_MainNew() at FX3U_PLC.My.MyApplication.OnCreateMainForm() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[]) at FX3U_PLC.My.MyApplication.Main(System.String[])
ANSWER
Answered 2020-Dec-07 at 18:02Problem solved by deleting user.config file. Thank you..
QUESTION
I have created a component using TCustomTransparentControl. It is working well utill I have more than one instance on the same parent. When I click on one of the instances the other instances seemingly randomly dissappear. (It is not completely random, but I couldn't figure out the logic) When I click on the position where the instance is, it is displayed properly. This is my code.
...ANSWER
Answered 2020-Nov-04 at 13:40There are a number of errors in your control.
You must override the destructor
, you must implement handlers for WM_SETFOCUS
and WM_KILLFOCUS
, you should not invalidate from mouse click event, you should override Click()
instead of using OnClick
, the Paint procedure should use Width-1
and Height-1
, no need to override CreateParams
because it is already done in base class.
Here is my fixed version with all those changes:
QUESTION
i'm using google apps script to call a SOAP XML web service with the intent on inserting the response content into a google sheet. making the request returns the expected response with valid data values however i'm having difficulty parsing the response. below is my function...
...ANSWER
Answered 2020-Sep-21 at 23:55I believe your goal as follows.
- You want to retrieve the values of
node-id
,trading-date
,trading-period
andgeneration
from the XML data in your question using Google Apps Script. - You want to put the retrieved values to the Spreadsheet.
- In your XML data,
scada-response
is the child ofsoapenv:Body
.node
is the children ofscada-response
.trading-date
is the child ofnode
.trading-period
is the child oftrading-date
.generation
is the child oftime-stamp
.
- In your script,
var entries = [];
is the 1 dimensional array byentries.push(id, new Date(td), tp, mw);
in the loop.- In this case, I think that it is required to put the values of
id, new Date(td), tp, mw
toentries
as one dimensional array.
- In this case, I think that it is required to put the values of
When above points are reflected to your script, it becomes as follows.
Modified script:Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install scada
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page