Jump to content
  • 0

DASYlab Modbus and ADAM-4150 Digital I/O. Inputs work, outputs don't.


David T.

Question

I have a simple DASYlab 12 Program that I can not activate any outputs on an ADAM-4150 Digital I/O module.

The digital inputs work fine.   I have Channel 0 set up as a counter. To set up CH0 as a counter I used the Advantech utility program.

However, I am not able to clear the counter.  I am also not able to activate Digital Output 0. 

I have tried both Digital and Analog outputs for the module.

  1. The status displays correctly but it does not function on the Digital I/O module.
  2. Register 00017 is Digital Output 0
  3. Register 00033 is Counter Mode CH0 - (Start=1, Stop = 0)
  4. Register 00034 is Clear Counter CH0 - (Clear = 1)

How do I make digital output 0 work?

How do I clear the digital input 0 counter?

Rain_DASYlab.JPG

ADAM-4150 Modbus Mapping.docx

DASYlab_ADAM-4150_Test.DSB

Edited by David T.
Add DASYlab Program
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Unfortunately, I don't have access to Modbus equipment, so I cannot test your worksheet. However, if the serial port Modbus is similar to the Ethernet Modbus, setting the Startbyte to 16 and enabling bitwise operation will begin writing at 17. A customer confirmed that it writes the following location. Otherwise, setting Startbyte to 17 starts at 136 because a byte is 8 locations. Use bitwise and try updating 16 and 17 to see if either works. 

Link to comment
Share on other sites

  • 0
47 minutes ago, JRys said:

Unfortunately, I don't have access to Modbus equipment, so I cannot test your worksheet. However, if the serial port Modbus is similar to the Ethernet Modbus, setting the Startbyte to 16 and enabling bitwise operation will begin writing at 17. A customer confirmed that it writes the following location. Otherwise, setting Startbyte to 17 starts at 136 because a byte is 8 locations. Use bitwise and try updating 16 and 17 to see if either works. 

Will give it a try.

 

Link to comment
Share on other sites

  • 0

That worked!!!!  Thanks for the help.   I was treating each register location in the table, as a 16-bit byte, not an individual bit. Changing the start Byte to multiples of 16bits worked great.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...