Quantcast
Channel: Industrial Communications topics
Viewing all 338 articles
Browse latest View live

why do we use can breakout box???

$
0
0

Hi,

I am relatively new to the CAN networks and i am having some difficulties understanding some basic concepts and i would be grateful if someone can help me out.

so my questions are as follows:

Where should l use CAN breakbox bus and why?

What is the function of CAN  breakbox bus?

l could not find any detail information on national instrument website


Control HCS01

$
0
0

I am using Hcs01 for the control of Rexroth linear system. Is there any way to control/program hcs01 remotely/independently other than Indradrive Ds?

Specifically is there any way to control the system via FPGA by real time programming? 

Thank you! 

 

 

Will EtherCAT Hot Connect EVER be available?

$
0
0

It would be REALLY cool to have this feature for the Industrial Communications for EtherCAT driver. Is NI even considering implementing it? Does anyone want it? It makes distributed systems way more flexible

XNET 9862 short?

$
0
0

I have an NI XNET 9862 in an NI DAQ 9171 chassis.

I've used the CAN device before, so I know it worked in the past.

I'm trying to use it again, but when I connect pin 9 to power +, and 3 & 6 to power - the power supply goes from 12.5 V to about 0.3 V and the CAN device does not work.

The message from Bus Monitor is that the device does not have power (you are trying to start an interface that is missing bus power for the transceiver..., BFF63028).

I've tested my DB9 connected without the 9862 connected, and there is the correct power to the pins, I verified with a dmm.

 

I got info to confirm what I'm doing here:

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000fxwGSAQ&l=en-US

 

Any thoughts, or is there an internal problem?

 

EthernetIP - Robot ABB - CIP Set Attribute single

$
0
0

Hello , i have a probleme with sending data throught ethernetIP . Receiving data = no problem . 

I want to communicate with an ABB robots  . Here is the EDS files of 2 projects. 

Project 1 = everything is ok , i can send and receive datas without problem .

Project 2 : i can receive data , but there is an error with the VI "EthernetIP CIP Set Attribute single.vi" : 

       Details: CIP Error - Extended status may be available
       CIP Status: 0x8 (Service code unsupported)

 

the instance id for read data is 100

the instance id for write is 112 

the class is 4 (I dont know what it is , but its works)

the attribute is 3 (I dont know what it is , but its works)

 

I tried to change the "write" instance id to 113 , 114 … , the error change : 

      CIP Status: 0x16 (Object does not exist)

 

Project 1 is a robot with an additionnal card

Project 2 is a robot with an internal card . 

 

Someone can told me why i have this error ? 

And what is the class and the attribute ? 

 

PS : Project 2 is working well with a PLC rockwell (see pictures in the vi) , with a generic module "ETHERNET-SAFETY-STANDARD module"

 

 

 

 

Ethernet/IP Get Attribute Class/Instance/Attribute Entered as Integers Expecting Hex

$
0
0

Hello All,

I'm trying to read Alarm codes on a FANUC R-30iB Mate Plus using the "EthernetIP CIP Get Attribute Single" VI. I have no issue reading objects that have numeric digits, however the protocol uses hex, and this vi expects integers as inputs for Class/Instance/Attribute. 

 

For example 0x65 is entered as 65

 

I need to read an object with Class 0xA0.  How do I enter this as a I32? I converted to a decimal but that doesn't work.

 

Any help would be greatly appreciated. Thanks! 

Interfacing PDOs of NI9214 module via TwinCat3

$
0
0

Good day community,

 

Here is the situation:

 

I want to make a comparison of accuracy between a Beckhoff module (EL3314-0020) and  a NI9214 using a Thermocouple simulator.

The project will be build in Twincat3.

 

To interface communication with the Beckhoff PLC (CX9020),
i am using an Ethercat expansion chassis (NI9145).
NI9145 is be connected to EK1110 Beckhoff module to establish Ethercat communication.

 

I have successfully managed to export the .xml file of NI9145, including NI9214, and the module is properly identified in TwinCat environment.

I attach it for your convenience.

 

The problem is that i get no feedback for the AI channels of the 9214, because , as can be seen,

the data type is defined as INT24, which cannot be properly associated with any data type provided within TwinCat3.

 

I have tried linking a 3byte array to value of interest, to no avail. See attached screenshot of PDOs of interest.

 

Any ideas on how to handle this situation?

I/O Link ~ Who uses it and why?

$
0
0

First I want to preface this with I work in distribution and am an Application Engineer specializing in robotics and motion control. I have been recently tasked with learning as much as I can about I/O link and put together a platform for proof of concept and demo purposes.

 

My problem is I have all the confidence I will get it working and be able to push the data from the device level up to the controls but what to do with this data is to be interpreted by the end user. I was hoping I could get a discussion started learning what some peoples experiences are with I/O link and some of the benefit/challenges they had making use of it.


When i use PXI Profinet communicate to simens plc ,Veristand use pxi-profinet custom device is error,But LabVIEW RT Use it is correct

$
0
0

Now I use NI PXI Profinet card (port 2 used as device)to communicate to siemens d435(controler) ,Now I have two problem:

The first One,When I use it in labview real time os,the first run ,the deivices vi can't read and write data , and the output status is 0x60,the help only have 0x00(bad)and 0x80(good)。the second time run will correct,the output status is 0x80(good)。

 

The second one ,I wite the device vi as custom device or labview model,No matter I deploy and undeploy many times ,I can't read and write data from siemens,So,I try to put "deploy and undeploy,then deploy " in custom device initial frame,It's still error ,the ouput status is 0x60。

 

Now I have to know what i do,I think this problom is the card deriver,I want to know the difference ni labview rt os and veristand custom device。

 

 

push pull and open drain mode on sbrio9628

$
0
0

Hi,

 

Related with covid-19 , I am in the process of developing a resuscitation ventilator, I use a flow sensor which communicate with the i2c protocol, I followed all the steps mentioned in the datasheet but my problem is that the sensor always responds with zeros even by varying the flow, i asked the manufacturer of this sensor, he told me that the sensor only works in open drain mode and not in push pull mode, I use the sbrio 9628 can any one help me to configure  DIOs on open drain mode? if it is possible .

 

thank you and best regards .

 

Ethernet/IP version 20.0

$
0
0

Just tried to update one of our projects to LabVIEW 2020 and noticed the latest version of Industrial Communications for Ethernet/IP on NI Package Manager is 19.0.

 

Does anyone know when version 20.0 will be released to support LV 2020?

Communication with ATI Digital FT sensor via Modbus over serial line (RS485) / C++

$
0
0

Hello,

 

I sent this post because I am currently trying (and failing) to communicate with a Digital F-T sensor via a C++ code. This sensor is connected to the computer via a RS485 card and the communication is supposed to follow the modbus protocol. I used a C++ library called libmodbus to connect to the device. The documentation of this library is available here :

 

https://libmodbus.org/docs/v3.1.6/

 

I wrote the following code to communicate with the sensor:

 

// CONNECTION INITIALIZATION

const char* sp_name = "COM3";
int baud_rate = 1250000;
int data_size = 8;
int stop_size = 1;
char parity = 'E';
int slave_adress = 10;
int err, length;

// Create ModBus context
modbus_t* modbus_context = modbus_new_rtu(sp_name, baud_rate, parity, data_size, stop_size);

// Set ModBus controlled device
err = modbus_set_slave(modbus_context,slave_adress);
if (err == -1)
{
fprintf(err_file, "Invalid slave ID\n");
modbus_free(modbus_context);
fflush(err_file);
return FALSE;
}

// Connect to device
if (modbus_connect(modbus_context) == -1)
{
fprintf(err_file, "Connection failed: %s\n", modbus_strerror(errno));
modbus_free(modbus_context);
fflush(err_file);
return FALSE;
}

// READ CALIBRATION REGISTER
int calib_register_addr = 0x00e3;
const int nb_bits = 8 * sizeof(Calibration_Struct);
const int nb_reg = 1;
uint16_t reg_destination;
uint8_t bit_destination[nb_bits * sizeof(uint8_t)];
int err = 0;

// Read holding register containing the information
err = modbus_read_input_registers(modbus_context, calib_register_addr, nb_reg, &reg_destination);
if (err == -1)
{
fprintf(err_file, "Error during reading of registers : %s\n", modbus_strerror(errno));
//return FALSE;
}
for (int i(0); i < nb_reg; i++)
{
fprintf(out_file, "Register : reg[%d] = %d\n", i, reg_destination);
}
err = modbus_read_bits(modbus_context, reg_destination, nb_bits, bit_destination);
if (err == -1)
{
fprintf(err_file, "Error during reading bits : %s\n", modbus_strerror(errno));
//return FALSE;
}
calib_FT_sensor = (Calibration_Struct*)bit_destination;
fprintf(out_file, "Calibration ID : ");
for (int i(0); i < 8; i++)
{
fprintf(out_file, "%i", calib_FT_sensor->CalibSerialNumber[i]);
}
fprintf(out_file, "\n");

 

I followed the documentation available on the constructor website to write this code (section 8 for programmation):

https://www.ati-ia.com/app_content/documents/9620-05-Digital%20FT.pdf

 

The problem I encounter is that I fail to read the holding register containing the calibration (or any other register I tried to read) with both functions:

 

modbus_read_registers

modbus_read_input_registers

 

Nevertheless, the error string I get after reading the registers says : "No error", therefore I have no idea of what is going wrong. Could you expain to me what I did wrong or transfer me a detailled example (as I am a beginner in this field) of communication with a sensor through modbus protocol in C++?

 

Thank you !

 

cRIO-PN-S - Media Redundancy Protocol (MRP) and other questions

$
0
0

Dear all,

 

I have some questions to ask regarding the cRIO-PN-S (PROFINET) module, and I hope an NI engineer could also help me out on this (I tried to open a new service request earlier, but there was some error with the submission system).

 

My client has a manufacturing line and we are intending of using CompactRIO to extract data from the PLCs that are controlling the various subsystems of the line. The PLCs (and other components like HMIs, switches) are arranged in a PROFINET ring topology that uses MRP (Media Redundancy Protocol)

 

We are considering the use of a cRIO-PN-S (CompactRIO PROFINET I/O slave module) on the CompactRIO. In this scenario, the cRIO-PN-S will be configured as a PROFINET slave within the ring topology, and extract data from all the PLCs within the ring. Regarding this, we have some questions regarding the module:

 

  1. Can the cRIO-PN-S in compliance with IEC 62439 for MRP?
  2. If so, can the cRIO-PN-S be configured as a MRP client? (The MRP architecture has 1 manager and multiple clients).
  3. In section 4 of the installation manual, it is mentioned "16 PROFINET IO Slots supported". What does this mean? (the module can support simultaneous communication with 16 PROFINET devices or ...? )
  4. As in (3), in section 4 it is also mentioned "Max. 254 bytes input and 254 bytes output data". If we would like to acquire a large number of data (bigger than 254 bytes) from multiple PLCs continuously, would it be possible? If so, how would the implementation be like? (e.g. open multiple connections simultaneously?)

 

The other alternative would be to channel all the required data to the PROFINET controller, and extract the data from there using another protocol like OPC UA or Modbus. But we are still in the midst of evaluating the different scenarios.

 

Thanks everyone in advance.

 

Best regards,

Victor

PDO dimension problem SOES Ethercat

$
0
0

Goodmorning to all,

I'm using a Pc with Ubuntu as Ethercat master (SOEM) and an ethercat slave (SOES) which uses a LAN9252. The slave is connected to a pc with window which is used to load the SOES program and once the software has been loaded, it remains connected in debug mode for checking the variables. I'm using the last version of Ethercat SOES. I have a problem with the PDO lenght. The problem is that if I define in the EEPROM of the slave a PDO with 128 fields where each field has dimension 1 Byte, when i run the program simpletest.c everything works properly, but if I define a PDO with 128 fields where each field has dimension 4 Byte, it doesn't work. I'm doing this because the EEPROM doesn't support PDO with more than 128 fields hence I have increased the size of each field. I need a PDO with 512 Byte. Someone can help me? Is it possible to do this? I share the screen of command window when i run the simpletest program and the wireshark file.

 

1.png

 

2.png

 

3.png

 

This is the screen of the slaveinfo.c with -map :

 

4.png

 

NOTE:

  • To solve the reading/writing problem on the SOES I thought I could manually change the byte size of input/output to 512 even if the fields are 128, however the fact remains that I don't know how to change the SOEM program.

Thank You!

 

 

CANopen with Parker

$
0
0

Hello,

I try to communicate with CANOpen to control the engine PARKER.I can't find how to fit theses index CANopen :

   - Status Word - Index CAnopen 0x6041 - objet [1000.3]

   - Operating Mode - Index CAnopen 0x6061 - objet [1000.5]

   - Velocity -  Index CAnopen 0x606C - objet [681.9]

 In the example provided by NI in the VI 'CANopen Read TPDO.vi' but I don't know how to enter PDO channel settings in the FA Main ? Thank for your answer  


cRIO PB compatibility with cRIO 9047

$
0
0

I am trying to use the cRIO PB in my cRIO 9047.  It is installed in slot 1 and slot 2 is empty.  I can also see the device in NI MAX and perform all the necessary steps to configure it in NI VISA.  It is also discoverable in Configurator III.  However, when I attempt to load the configuration to the hardware, it displays the warning regarding resetting the FPGA I/O 3 times and then displays a message stating it can't configure the hardware.

 

Is the cRIO PB truly only compatible with the cRIO 91xx expansion chassis series or is there another way to use it with an actual cRIO standalone system like the 9047?

Master Application.vi in DNP3 protocol

$
0
0

Hi

I am using  Master Application.vi to acquire outstation device data into LabVIEW 2020 using the DNP3 protocol.

I am getting all data(Point Index values) in session panel.vi.

Now, I want to use these point index Values in my RT-Target vi, How can I use them?

Also, I want to acquire continuously these point index values at 50ms rate. How can I acquire them? Now in session Panel.vi by pressing polling point index values to get updated, I want the continuous update.

Point Index Values.PNG

 any suggestions, please?

~~~

Sugandh

 

Industrial Communications for CANOpen Installation Problem

$
0
0

Hi,

 

I'm hoping someone can give me some advice. I've been trying to install Industrial Communications for CANOpen on my Laptop. I was running LV2018SP1 (64-bibt) and when I installed Industrial Communications for CANOpen v20.0 when I searched for the CANOpen VIs I couldn't find them. 

 

I uninstalled v20.0 and installed v18.0 (including the 32-bit version). Again I could not find the vi library on my palette (and using the palette search function) but when I looked under the hood I did find the vi library in the Program Files (x86)/National Instruments folder/LabVIEW 2018 folder.

 

I figured it was a compatibility issue so I installed LV2020 and then reinstalled Industrial Communications for CANOpen v20.0  - this removed v18.0 automatically (and the vi libarry I'd found).

 

After this - again I didn't find the vi librabry on the palette. I used the NI Package manager to repair the Industrial Communications for CANOpen v20.0  and still no joy!

 

Can anyone advise? I previously worked with LabVIEW2016 (32-bit) and Industrial Communications for CANOpen v16.0 without any issues as far as I recall  - I need to resurrect this old code for a lab-instrument we are commissioning. I'll move it from my laptop to a PC which has a CANOpen PCI card installed next week.

 

Is my issue the 32-bit vs 64-bit installs? Or did I follow the wrong sequence? Or am I missing some obvious piece of software. If someone can tell me where to find the CANOpen vi library I can probably just install that manually to a palette.....

 

Thanks and advance for your help,

Dave

 

DSC And PLC Communication

$
0
0

Do applications using the DSC to communicate to Allen Bradley PLCs lock the PLC from other communication?

 

I attempted to get online with the PLC through RSLinx but RSLinx couldn't see/find the PLC.

 

Does the application running the DSC need to close down properly before other communication with the PLC can happen?

EthernetIP connection status

$
0
0

How do I check status of EthernetIP Assembly Connection status? As if something is connected to it?

NI side working as an adapter.

It works with external device. The external device does see when I enable it.

The data exchange works just fine. 

 

How can I check on my end if the other device is hooked up? 

 

LV 2019. Win10.

Viewing all 338 articles
Browse latest View live