Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
- Forum
- Discussions
- QuickOPC-UA in .NET
- Reading, Writing, Subscriptions
- Unable to write data into S7-1500 PLC using DASSIDirect.
Unable to write data into S7-1500 PLC using DASSIDirect.
thanks for the additional info.
For items that the server does not expose through browsing, you can use the following trick in Connectivity Explorer:
1. Navigate so that you can select some items from your server in the list view (right pane) of the "Browse" tab of the "Point Editor", and select some item.
2. Switch to the "Inspect" tab.
3. Expand Misc -> Item Descriptor, and in the "Item ID" row, enter the full desired Item ID of the item you want to work with.
4. Do Live -> Add Row from the main menu.
It is not, however, clear to me why you have brought this issue here, as apparently, the items in question can be accessed without this procedure anyway, as you have confirmed in your answer #3. It just sidetracks the discussion and possibly confuses me. Stay focused to the problem. If you have unrelated problems, start a new forum thread (and link to other thread(s) if needed).
The main points of my current understanding can now be summarized like this:
1. You get 0xC004D002 error when writing an item with QuickOPC 5.21.
2. If you use the current Connectivity Explorer (5.71), you can write the same value into the same item without problems.
The Connectivity Explorer, leaving aside all the fancy user interface, in the end just calls the EasyDAClient.WriteItemValue method (or equivalent), the same as your code does. If my summary understanding above is correct, I recommend to rebuild your project with current QuickOPC version (trial license is OK), because it should then start behaving like the Connectivity Explorer 5.71 does. Note that your version is very and there might be code breaking changes, although all principles remained in place and if there are changes, they should be easy to do (and we can help). kb.opclabs.com/Versions
Best regards
Please Log in or Create an account to join the conversation.
- arunmanuel
- Topic Author
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
Let me try to clear up what I mean by not being to able add some tags. I am able to add tags the way you mentioned ie. "You need to select the parent level (Device1 maybe) in the tree view (left side), Only then are the items displayed in the list view (right side), and can be selected and "added"". These tags are those that are present in the "Device Items" tab of Wonderware's System Management Console (SMC). However, on the MatrikonOPC Explorer, I was able to add tags that were not present in the "Device Items" tab of Wonderware's SMC by simply typing in, "Channel1.Device1.<Tag name>". For example, DB101,INT3262 is tag that is not available within the "Device Items" tab but I was able to add this into the MatrikonOPC by simple typing in "Channel1.Device1.DB101,INT3262". I was unable to do something similar on the Connectivity Explorer and was wondering if this is possible at all.
Answers to your questions:
1. I was able to write values directly into the PLC using MatrikonOPC Explorer (image attached). However, I have not tried changing the code of the VB application to use Matrikon's OPC as this is something we would prefer not to do to keep the original code as it is. As mentioned at the start of this thread, I am not the creator of this Application nor am I good at coding with VB application. I was tasked with migrating this project from a S7-300 to S7-1500 but the VB Application and the Wonderware's SCADA remains the same.
2. With my limited knowledge, I believe it is also reading values from the PLC which I think is working fine. In the "Transactions" section of the SMC, I can see that "Demand Read" is green while "Demand Write" is red and that too only when 1503 items are trying to be written otherwise its green.
3. Yes, this has been done. The value is written into the PLC's DB and there is nothing written in the "Error Message" tab. I have attached the image showing this.
Regards
Please Log in or Create an account to join the conversation.
thank you for additional details.
I do not understand what you mean by saying that you are not able to add some tags. What precisely happens? My guess: You need to select the parent level (Device1 maybe) in the tree view (left side), Only then are the items displayed in the list view (right side), and can be selected and "added".
I still have some questions, in order to get a clearer picture:
1. You wrote "The failed error messages in the other screenshot (from System Management Console) were from the earlier time when the write command from the VB application failed." . Does it mean that now you can write to your OPC server, using MatrikonOPC (or other client) without errors, to the same items and using the same values, that fail with you QuickOPC application?
2. Does your QuickOPC application do with the OPC server anything else besides the Write-s? E.g. some browse, read, or establishing a subscription? If so, does that work correctly?
3. Can you please test the writing using Connectivity Explorer? To do so, first "add" the live data row Then, click in the cell under the Value columns, and enter a new value. Then press Ctrl+W (or use the Write command from the context menu). Does it write the value? Does it show something in the Error Message column?
Thank you
Please Log in or Create an account to join the conversation.
- arunmanuel
- Topic Author
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
Well, I was asked if I had other OPC client application at hand that I had used to verify the OPC server. Hence, I shared my results with MatrikonOPC. With regards to its results, I believe there has been a misinterpretation. There have been no errors when communicating with MatrikonOPC. As shown in my previous screenshots, the values of the tags in it and the PLC are the same, thus proving that the comms are working fine. The failed error messages in the other screenshot (from System Management Console) were from the earlier time when the write command from the VB application failed. I just wanted to show it to you that the tags that failed during that time communicated successfully during my test with MatrikonOPC.
As per your request, I have tested comms again using Connectivity Explorer. The result (image attached) shows successful communication. However, the thing with Connectivity Explorer is that, I am only able to add tags that are available within the "Device Items" tab within the System Management Console (image attached) and not any other tag. For example, one of the tags that needs a recipe value written into it is DB101,REAL856. I am unable to manually add this tag into Connectivity Explorer. Please let me know if I am missing something here. It is alright if this cannot be done since otherwise also it can be seen that communication works fine with the tags that are within "Device Items".
Regards
Please Log in or Create an account to join the conversation.
I have asked you to use Connectivity Explorer from us, not the MatrikonOPCExplorer.
But anyway. You are getting an error in another OPC client (MatrikonOPCExplorer) when trying to make the writes. Why do you think the same should work from QuickOPC, if it it does not work from other OPC client(s) either?
Regards
Please Log in or Create an account to join the conversation.
- arunmanuel
- Topic Author
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
Yes, I have tried establishing communication using MatrikonOPCExplorer and it was a success. I have attached a screenshot that shows the data being written from the MatrikonOPCExplorer in to the S7-1500 PLC. I have used the same tags that have failed during communication (image attached) from the VB Application into the PLC.
Yes, the client application with QuickOPC is on the same computer as the OPC server.
Kind regards
Please Log in or Create an account to join the conversation.
I have searched through source code of QuickOPC version 5.21, and 0xC004D002 is not an error from that version either. It is therefore an error that is just reported by QuickOPC, but does not originate in it. It might come from the OPC server itself.
Do you have some other OPC client application at hand that can be used to verify whether it is possible to connect to your OPC server and operate items in it? If so, have you tried that and what were the results?
If not, please download our Connectivity Explorer (kb.opclabs.com/Tool_Downloads#Connectivity_Explorer ) and try to connect to your OPC server and see if you can browse it, read, write, etc.
One important question: Is you client application (with QuickOPC) on the same computer as the OPC server, or is it on a different computer, and connecting remotely?
Best regards
Please Log in or Create an account to join the conversation.
- arunmanuel
- Topic Author
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
I have attached two screenshots which should probably help you figure out which version of QuickOPC is being used. One of them is the QuickOPC setup I installed which was found in the original backup folder of this project and the other one is the Details tab of one of .dll files of this VB application.
Regarding changes to the code, one small change was made to establish proper communication. The original code had instances of "Archestra.DASSIDirect.2" which were all changed to "Archestra.DASSIDirect.3" as this was the name of the driver that was seen in the System Management Console of the Wonderware.
Kind regards
Please Log in or Create an account to join the conversation.
QuickOPC is a library, not an application. It has its own settings, but you need to configure them from inside your own code, programatically. Since you have not indicated that anybody has changed the code to modify the settings, and the application has worked and is no longer working, trying to make it work by changing the settings does not seem reasonable, because it is something *else* that has changed and caused the issue, not the QuickOPC settings.
The error code 0xC004D002 could be one of own QuickOPC errors, but it does *not* appear in current QuickOPC version. It could be that it was an error code used in some earlier version, I need to check that. Please let me know which QuickOPC version you are using. The most reliable way to figure it out is to find one of OpcLabs.* assembly DLLs in your compiled application, and in the WIndows File Explorer, right-click the file, select Properties, and on Details tab, there should be the version(s).
Thank you
Please Log in or Create an account to join the conversation.
- arunmanuel
- Topic Author
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
I had followed your advice and modified the code (attached as a .txt) to see what error message pops up (attached as). I have tried looking up the HRESULT value on the internet but could not find anything on it. Would you happen to have any idea what this means?
Kind regards and thanks
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-UA in .NET
- Reading, Writing, Subscriptions
- Unable to write data into S7-1500 PLC using DASSIDirect.