Using Modbus TCP I/O Server with new DSC Shared Variables in LabVIEW 8.6

Hello,
I'm using LabVIEW 8.6 and want to communicate with a Beckhoff BK9000 Ethernet TCP/IP Bus Coupler via Modbus TCP. Instead of using the NI Modbus Library, I've tried the new LabVIEW 8.6 feature "DSC Shared Variables" as described at the bottom of this page: Latest NI LabVIEW DSC Module Features and Demos. Reading of analog input bus terminals works fine. However, I haven't figured out yet how to write on an anolog output bus terminal with these shared variables.
It's about a 16 bit analog output and I need to write to the registers 0x1121 and 0x0801. It works with the NI Modbus Library (just using function code 6 and choosing the registers), but on the other hand I don't know which shared variables I have to choose for these registers. I've tried several data items (e.g. 400001 upwards as well as 402049 for 0x0801) but none of them worked. I would be glad for a short explanation - thanks in advance for your support!
Regards
utechle

The Beckhoff documentation says, that holding registers start with 0x0800. I've checked this by using the NI Modbus Library. I used the "MB Ethernet Master Query.vi" togehter with the function code 6 for "Write Single Registers", changed the settings of the starting address to hexadecimal view and entered 801 (since it starts with a control byte in 0x0800 and the data out word follows in 0x0801). Furthermore, I had to address register 0x1121 in the same way for resetting the watchdog. As I've mentioned in my first post, this method works fine. However, I haven't found out yet which shared variables i have to use for accessing these registers.
On the other hand, it's no problem to read data from analog input bus terminals using shared variables. They start with 0x0000 (status byte) and 0x0001 (data in word) and I can read data with the shared variable and data item 300001, respectively.
Message Edited by utechle on 01-27-2009 11:12 PM

Similar Messages

  • Does Transfer EBS to new server with New specifications (Ram,Pross ,..)

    Does Transfer EBS with same release to new server with New specifications (Ram,pressoser ,..) need new licences ?

    Micel 811 wrote:
    Does Transfer EBS with same release to new server with New specifications (Ram,pressoser ,..) need new licences ?\does your license is CPU based?
    if its user based then No need
    please contact oracle sales as they are the best to answer your question .
    http://www.oracle.com/us/corporate/pricing/applications-price-list-070574.pdf
    ;) AppsMasti ;)
    Sharing is Caring

  • Problems using Modbus TCP accessed by NI OPC Server

    Hi there,
    i'm using NI OPC-Server to access a measurement module. The buildup is quite easy, my system with NI OPC, a modbus gate and there the module connected with RS485.
    There's a thermocouple to provide me some sample data.
    But there's the point. I know, my data is in the Holding Registers and I can access them, but every data type I'm trying doesn't bring my my data out, just any other (sometimes Huge with e34, sometimes very small like e-13...) sorts, i can't understand.
    The type provided by the module should be single precision.
    In Lookout the address used to be is 41000 in Labview it's just 999 and in the "target" OPC-Server I get some values at 401000 but not useful.
    I also get the same results accessing 301000 in different types.
    Read/Write or Read Only is equal.
    I've tried to tell my OPC that the values are Strings, Floats, Words, BCD and all other possible ways OPC offers me, but nothing results in a usable temperature.
    I hope I missed something and you could suggest it.
    Cateros
    Solved!
    Go to Solution.

    Thanks for your reply.
    in LabVIEW I'm using the provided Modbus Libraries. If I unbundle the Holding registers, my value appears at Holding Register [0], I'm type casting it to single and get the sample temperature. (Address 999->unbundle->typecast->value)
    In NI OPC, I'm reading ( [depends on zero based addressing]  300999/301000 equal to 400999/401000) an already typecasted Holding Register [1] compared to LabVIEW (and the value changes in the second or third digit behind the comma and they are changing at the same time). Data type in the tag is float.
     Another disturbing thing is even if I change in the options "using zero-based addressing in registers" my value does not change.
    If I'm reading two addresses close to each other (as you mentioned 401000-401001) I'm getting an unknown data type and no results. How do I read multiple addresses without such errors? And how do I specify a special register to read?
    Scaling should not be the problem, I am having three ways to get my value (FTP-Server on the gate (just a *.dat file with correct type), software the the module manufacturer (while measuring and configuring the module) and LabVIEW(as can be seen above)) .
    Sadly, I have not found any useable modbus documentation about the module (just it can use modbus, you have the registers, you could read/write and fine)
    When I'm adding a second couple to the module, in LabVIEW Values in Holding Register [2] and Holding Register [3] appear and are changing.
    Cateros

  • Using modbus/TCP with USB ethernet adapters

    I have a test stand where I have a handful of USB instruments and a single modbus/TCP slave.  I'm considering adding a USB ethernet adapter to the stand so that there is a single USB cable connecting the computer to the hardware rather than both a USB and an ethernet connection.  Does anybody out there have experience (good or bad) using USB ethernet adapters with modbus/TCP slaves?
    The existing USB instruments all use ASCII/SCPI-style command sets.  The Modbus/TCP slave is an Automation Direct EBC-100.  Nothing high-bandwidth or low-latency.  Basically, the computer issues no more than a handful or command or request (ether SCPI or Modbus/TCP) per minute.
    Mark Moss
    Electrical Validation Engineer
    GHSP

    Adam G wrote:
    Hello Mark,
    I was wondering what NI hardware you are going to be using in your application? Also are you going to be using LabVIEW for the programming? Have a great day!
    Best Regards,
    Adam G 
    The test software is written in LabVIEW, and the test stand uses M-Series cards for data acquisition.
    Mark Moss

  • Using modbus tcp/ip to control vfd speed

    Hi, I'm brand new to Modbus and fairly new to LabVIEW. I do not have any code constructed yet, so I'm posting to here so that hopefully I can get led in the right direction. I have downloaded the free modbus library because after explaining to NI what I needed, they told me that this would give me enough functionality. I am trying to read the vfd frequency and display it on my front panel, as well as be able to adjust the frequency of the vfd through the front panel. I'm sure that this is a fairly simple and straightforward solution, but since I am brand new to modbus, I really am not sure what values I need to get in order to make this happen. I'm assuming that I need to initialize a tcp master, but what values do I need to feed it so that it can read anything from my vfd? I have an ABB ACS355 VFD with a FENA-01 ethernet adapter. I have the manuals for both and I see lots of parameters and numbers but I don't know how to make sense of them. Are there any keywords I should be looking for in these manuals? Sorry for posting such a general question but I really don't know how to begin this properly. Thanks in advance for any help!

    Hello,
    A great place to get started will be the shipping examples in the example finder. In LabVIEW, if you go to Help>> Find Examples and the search "Modbus" you will see and example called Modbus Fundamentals.lvproj. This uses shared variables and can communicate with TCP/IP (or ethernet etc) and is set to connect to the localhost. This example also shows how to read and write  using Modbus. There is a readme also included in the project if you need more information.
    Additionally, there is a great getting started white paper that may be helpful for you. I've linked it below:
    Introduction to Modbus: http://www.ni.com/white-paper/7675/en/
    I hope this helps!
    Best regards,
    Anna L
    Applications Engineer
    National Instruments

  • Using HP Jetdirect 300X print server with OS 10.4 Ethernet/Airport?

    I am trying to speed up my connection to my older HP 5MP Postscript printer by switching to an HP Jetdirect 300X print server. I was previously printing through a Farralon ethernet-to-Localtalk adapter, but this can be very slow and I found that printing from a PC to this printer over its parallel port was about 20 times faster (it would sometimes take up to 50 minutes to print one document over the ethernet-to-Localtalk adapter). HP claims that this Jetdirect 300X print server will be even faster than printing from a PC and I will still be able to use Postscript from the Macs.
    BUT, HP does not give adequate info how to set up this print server with a Mac network, despite recommending it. The info I have found so far seems to require being a PC systems and network administrator to understand it. (very high-techese) Does anyone have experience setting this up with OS 10.4? I do still have one old Mac running OS 9 that I can set up in a pinch if I have to, but I would prefer to be able to get rid of OS 9 completely. I also have one computer with Windows XP Home Edition if I can use that to set up the server and then operate it with Macs.
    The newer Macs are iMac G5, Powerbook G4, and G4 DA Tower. I do not currently have a router, except for an Airport Express. My various computers are linked together with an 8-port ethernet hub, with the Airport Express serving as a bridge to the Airport-equipped Macs.

    I'm not familiar with the JetDirect, but I can tell you that I have an HP Laserjet 4m at work set up to receive print jobs from both our Macs and PCs.
    We have it hooked up to a Windows 2000 PC which is sharing the printer. The same concept would apply to XP. Just install the printer and then share the printer. Keep the share name short (something like HP5 or so - OSX does not seem to like long shared printer names). As long as you have at least OSX 10.3 you can use the Printer Setup Utility to to Add a printer. Select Windows shared printers. Locate the Windows XP printer on the network and have the Mac connect to it. You'll see the shared printer in the list. Select the driver and add the printer.
    You'll need to have file sharing established on the XP computer, or at least the printer sharing and you will want to use the account that the computer logs in to. You'll also need a printer driver on the Mac side. HP does not have this. However, there are several drivers available for HP printers under CUPS (Common Unix Printing System). Do a Google search for "Gutenprint" and you'll get the website for the drivers. You'll want to have that installed before adding the printer in OSX.
    BTW, it won't work with OS9, unless you have DAVE or some other Win/Mac application that allows communication between PCs and Macs.
    It's a small amount of work, but the drivers are free which I imagine is probably a lot cheaper than the JetDirect.

  • Controlling a Load Drive using Modbus TCP or Ethernet IP

    Hello,
    My name is Francisco Loras. My team and I are looking forward to building a dynamometer in order to obtain test standards for motors. We're going to use a Load Drive in order to control the Load Motor. The Drives we have been looking at are either from ABB or from Yoskawa (a1000), both offer the option of connecting via Modbus TCP/IP or via Ethernet IP. I was wondering if someone has previously worked with them and could give me some feedback on either the drive or connection type. I would preferrably use Ethernet because the complete system we're building requires at least one more ethernet connection (for a Power Analyzer).
    Besides this, we were counting on using a Chassis from NI to put everything together. When looking at the specific modules, we considered two options:
    1- Using an ethernet module (from NI that fits in the Chassis) to drive in both the Power Analyzer and the Load Drive.
    2- Using an ethernet switch setting specific IP addresses. 
    Has someone used any of these before? A switch would be close to 50 times cheaper than using the ethernet module itself so I'm a bit worried there might be something that limits it or that I'm missing (noise maybe?).
    To conclude, I'm looking forward to se if someone has:
    1) Used Ethernet IP or Modbus TCP/IP to control a Load Drive, which connection type is best if any.
    2) Recommended any specific load drive
    3) Experience with using an ethernet switch or an ethernet module.
    Thankyou very much for your help and time,
    Francisco
    PD. If something is unclear (which I sense it is) please ask me and I can develop more on it.

    Florasga,
    Which ethernet module are you looking at? And what kind of chassis are you planning on using?
    There's some more information on Modbus here. Also, have you seen this forum post? 
    Kyle T.
    Applications Engineering
    National Instruments

  • Restore on new server with new DB_NAME/SID?

    My goal is to restore database with the RMAN backup on a server that has no connectivity to the production database (I don’t want to use duplicate command).
    I restore a database from RMAN using a same DB_NAME/SID and everything was ok.
    -     restore spfile
    -     restore controlfile
    -     restore database
    -     recover database
    -     open with reset logs
    Now I want to restore database but with different DB_NAME/SID (My production database is PROD and I want to restore this PROD RMAN backup on new server and this new database I want to be called DEV).
    How to restore database with new DB_NAME/SID?
    Oracle 10g, Windows Server 2003
    Thanks in advance!

    user9106065 wrote:
    My goal is to restore database with the RMAN backup on a server that has no connectivity to the production database (I don’t want to use duplicate command).
    I restore a database from RMAN using a same DB_NAME/SID and everything was ok.
    -     restore spfile
    -     restore controlfile
    -     restore database
    -     recover database
    -     open with reset logs
    Now I want to restore database but with different DB_NAME/SID (My production database is PROD and I want to restore this PROD RMAN backup on new server and this new database I want to be called DEV).
    How to restore database with new DB_NAME/SID?
    Oracle 10g, Windows Server 2003
    Thanks in advance!You can use NID command
    Run NID and you can see the options to run
    or see How to Change the DBID, DBNAME Using NID Utility in version 10GgR2 onwards [ID 863800.1]
    Cheers

  • Use a SQL 2012 database server with Reporting Services 2008?

    Hello, we have a SQL Server 2008 R2 Reporting Services Standard server with the reporting databases running on a SQL Server 2008 Standard database server. I would like to upgrade the database server to SQL Server 2012 before I upgrade the reporting server.
    Can I run SQL Server 2008 R2 Reporting Services against a 2008-version database running on a SQL 2012 database server? Thanks for your help.

     
    Hi Nicole
    Thanks for your posting.
    Are you asking if we can connect from SSRS 2008 r2 to a database sitting on SQL Server 2012.  Am I right?, please ignore me if I misunderstood your question. If that is your question
    then I think you will be able to using BIDS 2008, I have created A database on SQL Server 2012 and I use that database table inside  my SSRS 2008 R2 dataset. I can even think that you can use a database of compatibility level of 2012(110) as well
    Many thanks
    Syed Qazafi Anjum

  • URGENT ! Using Sun's J2EE RI Server with MS SQL Server 2000

    I'm using the J2EE Server that comes with the J2EE 1.3.1 package from Sun. I'm trying to load a datasource using the free MS SQL Server 2000 Driver for JDBC, but I'm always getting this error (I've run out of ideas so maybe someone in this forum can help):
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: Unable to connect to database. No suitable driver; nested exception is: javax.ejb.EJBException: Unable to connect to database. No suitable driver ...
    I'm using MS SQL Server 2000 Driver for JDBC, my classpath setting is:
    CLASSPATH=D:\j2sdk1.4.0_01\jre\lib\ext\mysql-connector-j-2.0.14;D:\MS-JDBC-Driver\lib\msbase.jar;D:\MS-JDBC-Driver\lib\mssqlserver.jar;D:\MS-JDBC-Driver\lib\msutil.jar;E:\Installers\Java Related\jdbc dirvers\JSQLConnect3_27\JSQLConnect.jar
    I have the same J2EE_CLASSPATH setting in my userconfig.bat file.
    I've loaded this driver class in deploytool:
    com.microsoft.jdbc.sqlserver.SQLServerDriver
    and my connection url is:
    jdbc:microsoft:sqlserver://localhost:1433;databasename=test
    What's weird is that I've also tested these settings with a simple Java Application and they worked fine, but when I try to use the same for the j2ee server from sun, I always get the annoying "no suitable driver" error.
    If anyone has ever come up with a solution that works, please help. You may post you reply here or better yet, email me at [email protected]
    Thanks a lot in advance !

    Hi,
    The error "no suitable driver" occurs when something goes wrong with the connection URL.so make sure that u are using the correct URL format (check if any of the info is case sensitive etc) or atleast try other URL alternatives (for MS jdbc driver).
    try these changes only through deployment tool->tools->server configuration->datasources->standard.(instead of editing resource.properties directly).
    last not the least - make sure that there is NO "rem" keyword before "set J2EE_CLASSPATH" in the userconfig.bat file :)
    HTH,
    - asharafkk

  • Using LDAP from 10.5 Server with Joomla

    Has anybody successfully used the LDAP from 10.5 server with Joomla?
    Here is another post in Joomla's forums asking the same thing
    http://forum.joomla.org/viewtopic.php?f=473&t=260357

    I've had some success with the LDAP integrated into Joomla 1.5. Although, Joomla currently appears to require an email address during validation. So, if you don't have email addresses in the OSX LDAP database, a user can not fully login even if the username and password is correct).
    Here are my sanitized settings
    Host: hostname.domain.tld , e.g. [email protected]
    Port: 389
    LDAPV3: yes
    Negotiate TLS: no
    Follow Referrals: no
    Authorization Method : "Bind and Search"
    BaseDN: cn=users,dc=hostname,dc=domain,dc=tld , e.g. dc=myserver,dc=mydomain,tld=com or whatever OD LDAP is set for.
    Search String : uid=[search] // I do not know if this is valid.
    UserDN: uid=[username],dc=hostname,dc=domain,dc=tld
    Connect username:
    Connect password:
    Map full name: cn
    Map email : email
    Map userid : uidnumber
    When you enable the module, you should see an OD LDAP log entry
    Something like
    May 29 2008 19:04:33 USER: {0x4230826a3fffffff0000000f0000000a, username} is the current user.
    May 29 2008 19:04:33 AUTH2: {0x4135826cffffffff0000000a0000000a, username} CRAM-MD5 authentication succeeded.
    May 29 2008 19:24:11 RSAVALIDATE: success.
    If you don't get any log messages, LDAP has rejected the query outright.
    Regards,
    Jay Vicory

  • Using iPod cables and iPod doc with new iTouch?

    My new iTouch fits in the doc of my old iPod and so does the cable from the old iPod. Is there any harm in using these same cables? I don't want to sync or charge it until I know it won't cause any issues. Thanks for your assistance.

    You probably don't want to use a different iPod's dock adapter for you iPod Touch for this reason: It will most likely internally damage the iPod Touch, and damage the dock! I would definitely use the dock adapter that came with it, because it is especially made for the iPod Touch. As for the cable, I do not believe that there is anything wrong with using a different one, I am pretty sure that they are essentially the same thing, they just look a little different.
    -Messymeese

  • 10.5 OD server with new 10.6 iCal server

    Hi Have an OD 10.5.8 server and have just got a mac mini 10.6.2 server to use strictly as an iCal server.
    iCal needs account names obviously so is it as simple as joining the mini to the OD and it picking up the names from there?
    Because 10.5 uses the old calendar system where you have to select the server in WGM will this have a negative impact? Shall I just leave it not checked?
    Cheers

    Hi Holger
    I've got it sorted. Here is what I noticed and did as a result.
    There is no need to add group "com.apple.access_mail" to every user who wishes to have access to Mail service. Something has gone inherently wrong in the 10.5.8 OD master. I re-installed the 10.5.8 OD a number of times (due to bad media during installation), and re-input the user accounts one-by-one, WITHOUT restoring the previous archived user data. This step is critical, because it seems that archiving will also archive the bad data, and restoring to a new installation of OD master should mean you still have a bad OD master.
    Re-install the other servers (10.6.2) from scratch. During the Server Setup Assistant stage, at the "Users and Groups" screen, choose "Connect to another server". Specify the 10.5.8 OD master. In the next screen "Directory Service", choose "Set up an Open Directory master".
    You can also set up iCal service during this stage, and because of the above settings, iCal is automatically, correctly configured.
    At the end of this configuration, the new server will use both 10.5.8's and the local's OD master for users and groups authentication and contacts. Running iCal web service should now work.
    One thing I learned from all these days of trail and error is that we must plan the set up prior to performing any installation. Plan which machine will run which services. Of course the OD master and DNS should be already running correctly.
    Once the installation and configuration is done, don't attempt to make any dramatic changes to it (such as demoting the OD master to local, and re-promote it to master). Doing so will definitely cause something to break, no matter it is 10.5.8 or 10.6.2.
    Also if something *weird* happens (weird things are those contradicting the Apple docs), always attempt to perform a clean install of the OS. Don't waste time to try to figure out why the errors and problems happened!
    Plan, plan, plan!

  • Locked files using a Windows 2003 File Server with Mac 10.6 clients running CS5

    We migrated 40 Mac users from OS X 10.5/CS3 to OS X 10.6/CS5 back in November. Our InDesign files are kept on a Windows 2003 file server.
    We have had fairly constant complaints of InDesign and Photoshop files being reported as locked when users try to save their work back to the server. This did not occur as frequently with CS3.
    Has anyone else had this issue?

    I'd suggest starting with iFelix's Sharing files between a Windows XP PC and a Mac running OS 10.4.x

  • Performanc​e of Modbus using DSC Shared Variables

       I'm fairly new at using Modbus with LabVIEW.  Out of the roughly dozen tools and API's that can be used, for one project I'm working on I decided to try using Shared Variables aliased to Modbus registers in the project, which is a DSC tool.  It seemed like a clever way to go.  I've used Shared Variables in the past, though, and am aware of some of the issues surrounding them, especially when the number of them begins to increase.  I'll only have about 120 variables, so I don't think it will be too bad, but I'm beginning to be a bit concerned...
       The way I started doing this was to create a new shared variable for every data point.  What I've noticed since then is that there is a mechanism for addressing multiple registers at once using an array of values.  (Unfortunately, even if I wanted to use the array method, I probably couldn't.  The Modbus points I am interfacing to are for a custom device, and the programmer didn't bother using consecutive registers...)  But in any case, I was wondering what the performance issues might be surrounding this API.
        I'm guessing that:
    1) All the caveates of shared variables apply.  These really are shared variables, it's only that DSC taught the SV Engine how to go read them.  Is that right?
       And I'm wondering:
    2) Is there any performance improvement for reading an array of consecutive variables rather than reading each variable individually?
    3) Are there any performance issues above what shared variables normally have, when using Modbus specifically?  (E.g. how often can you read a few hundred Modbus points from the same device?)
    Thanks,
        DaveT
    David Thomson Original Code Consulting
    www.originalcode.com
    National Instruments Alliance Program Member
    Certified LabVIEW Architect
    There are 10 kinds of people: those who understand binary, and those who don't.
    Solved!
    Go to Solution.

    Anna,
        Thanks so much for the reply.  That helps a lot.
        I am still wondering about one thing, though.  According to the documentation, the "A" prefix in a Modbus DSC address means that it will return an array of data, whereas something like the F prefix is for a single precision float.  When I create a channel, I pick the F300001 option, and the address that is returned is a range:  F300001 - F365534.  The range would imply that a series of values will be returned, e.g. an array.  I always just delete the range and enter a single address.  Is that the intention?  Does it return the range just so you know the range of allowed addresses?
       OK, I'm actually wondering two things.  Is there a reason why the DSC addresses start with 1, e.g. F300001, instead of 0, like F300000?  For the old Modbus API from LV7, one of the devices we have that uses that API has a register at 0.  How would that be handled in DSC?
    Thanks,
        Dave
    David Thomson Original Code Consulting
    www.originalcode.com
    National Instruments Alliance Program Member
    Certified LabVIEW Architect
    There are 10 kinds of people: those who understand binary, and those who don't.

Maybe you are looking for

  • Print window in report 6i

    Hi All, I created one report.in it's parameter form i have two parameters one is destype and the other is the desname whose source are the system parameters destype and desname.the report runs correctly with parameters destype as File and desname as

  • Numeric or value error Line 410???  appending to lob

    line 410 is marked with line of '%%%%%%%%%%%%%%%%%%%%%' This script is designed to profile data in a set of table by generating sql and running it with an execute immediate. It works by generating a set of code for each datatype and then executing th

  • How do you change pages to word

    I have a pages document that I sent to my daughter who has a PC and she cannot open on her PC. How do I get it so she can open it in word? should I send it in a PDF? or is there an easier way?

  • How to present datetime objects as separate date and time objects?

    Hello, I store the working times of employees as records containing two datetime fields: - begin: datetime - end: datetime I would like to keep this design, because a working time may cover several days, e. g. beginning at 2015-04-14 22:00 until 2015

  • Integrating Ads with a Phonegap App (built in Dreamweaver)

    I've created an app with Dreamweaver with jQuery mobile. I've built it with the phonegap integration and it works just fine. Is there any way to integrate any type of ads within it such as Admob? Thanks!