Ask our Experts
Didn't find what you are looking for? Ask our experts!
Launch of Consumer/Home Owner registration process! We are pleased to announce the commencement of the Consumer/Home Owner Registration Process on Community. Consumers/Home Owners may now proceed to register by clicking on Login/Register. The process is straightforward and designed to be completed in just a few steps.
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
Search in
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-01-18 12:20 PM
Hello Community!
I am trying to insert data in an opc analog variable but keep getting the following error messages:
System.ArgumentException: Value is an unsupported type.
ClearScada.Client.MethodException: The object '08-OPC_PMAC.Caudal_M0005_1' does not have a method named 'CurrentValue'.
If I try with an example variable there is no problem.
Is it possible to insert data in any other type of variable?
regards,
HC
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-01-21 08:28 PM
Technically CurrentValue the property is writeable on each point type, however for non-internal analogues/digitals the request will be translated into a control request, so the request may or may not work depending on the actual point type or the current configuration of the point object, such as if controls are even enabled. It is a useful trick to save you wondering if a control is inherent within the point or is attached as an aggregate for that point type, just write to the CurrentValue property instead and let the database worry how to handle it.
CurrentValue the method only exists on internal analogues/digitals, so if they're using .NET API's InvokeMethod then yeah that'll fail.
Given the error message my guess is they are trying to invoke the CurrentValue method on an OPC point which will be the problem, if they change it to instead write to the CurrentValue property and ensure the point is configured as a control it should work.
I'll also add into the mix that depending on what you mean by "insert data" you may also want to look into something like LoadRecord/LoadRecords method on CHistory. That will also you to insert data into the historian (CDBHistoric) for any point with historic enabled, should allow you to do more data quickly with a bit more control over the columns, but also not trigger a "point update" so no controls sent/no on-input logic triggered/no update to the current value/timestamp which depending on what your objectives are may be a good thing, or may not be helpful in the slightest.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-01-19 08:12 PM
Only Internal Points support directly writing to their CurrentValue property, which internally just performs a Control action.
For ALL other point types, you will need to use the Control aggregates, and methods on that to allow for the value to be written back to the source.
That also means that you need to enable the Control 'permissions', and configure things like the control ranges correctly (along with the right data type for the control attributes if applicable for the point type... i.e. DNP3)
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-01-21 08:28 PM
Technically CurrentValue the property is writeable on each point type, however for non-internal analogues/digitals the request will be translated into a control request, so the request may or may not work depending on the actual point type or the current configuration of the point object, such as if controls are even enabled. It is a useful trick to save you wondering if a control is inherent within the point or is attached as an aggregate for that point type, just write to the CurrentValue property instead and let the database worry how to handle it.
CurrentValue the method only exists on internal analogues/digitals, so if they're using .NET API's InvokeMethod then yeah that'll fail.
Given the error message my guess is they are trying to invoke the CurrentValue method on an OPC point which will be the problem, if they change it to instead write to the CurrentValue property and ensure the point is configured as a control it should work.
I'll also add into the mix that depending on what you mean by "insert data" you may also want to look into something like LoadRecord/LoadRecords method on CHistory. That will also you to insert data into the historian (CDBHistoric) for any point with historic enabled, should allow you to do more data quickly with a bit more control over the columns, but also not trigger a "point update" so no controls sent/no on-input logic triggered/no update to the current value/timestamp which depending on what your objectives are may be a good thing, or may not be helpful in the slightest.
Link copied. Please paste this link to share this article on your social media post.
You’ve reached the end of your document
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.