cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

USB RS232 adapter

8run0tti
New Poster

USB RS232 adapter

Dear ctrlX Community!

 

We would like to connect several Keyence scanner to ctrlX Core via USB RS232 adapter.

I successfully sent and received data in node-RED (with /dev/ttyUSB0 path), but we need to use this solution in PLC runtime.

I tried to open the serial port with SysCom library without any success.

Is there any possibility to handle the USB RS232 adapter in the PLC environment?

 

Thanks in advance!

 

7 REPLIES 7
MauroRiboniMX
New Contributor

Re: USB RS232 adapter

Hi,

I don't know if it is possible or not but i would like to know the answer too. 🤗

 

Mauro

TheCodeCaptain
Community Moderator

Re: USB RS232 adapter

Hi,

we will have a look into the topic and come back to you.

Have a nice weekend.

8run0tti
New Poster

Re: USB RS232 adapter

After the V1.14 update, we tried to set the following parameters to plc_system.cfg:

[syscom]
linux.devicefile=/dev/ttyUSB0
portnum := COM.SysCom.SYS_COMPORT1;

This solution works with Codesys PLC runtime on Raspberry Pi, but no success on ctrlX.

Is there any chance to step forward in this question?

TheCodeCaptain
Community Moderator

Re: USB RS232 adapter

Hi 8run0tti,

update, it is not yet possible to use it.

We are working on it, most likely it will be available in the next version 1.16 from august on.

Regards

CodeShepherd
Community Moderator

Re: USB RS232 adapter

Any news here?

TheCodeCaptain
Community Moderator

Re: USB RS232 adapter

Hi 8run0tti,

we implemented the support from version 1.16 on.

Find here some example code.

PROGRAM PLC_PRG
VAR	
	result		:	Syscom.RTS_IEC_RESULT;
	handle		:	Syscom.RTS_IEC_HANDLE;
	settings	:	Syscom.SysComSettings;
	bDone		:	BOOL;
	arByte		:	ARRAY[0..99]	OF	BYTE;
	udiReturn	:	UDINT;
	iState		:	INT	:=	0;
END_VAR

 

settings.sPort		:=	SYS_COMPORT1;
settings.ulBaudrate	:=	SYS_BR_4800;
settings.byParity	:=	SYS_NOPARITY;
settings.byStopBits	:=	SYS_ONESTOPBIT;

CASE iState OF

0:
	IF NOT bDone THEN
		handle := Syscom.SysComOpen2(
						pSettings:= ADR(settings),
						pSettingsEx:= 0,
						pResult:= ADR(result));
		bDone := TRUE;
		iState:= 10;
	END_IF

10:
	udiReturn := Syscom.SysComRead(
		hCom:= handle, 
		pbyBuffer:= ADR(arByte), 
		ulSize:= SIZEOF(arByte), 
		ulTimeout:= 0, 
		pResult:= ADR(result));
	
END_CASE
MauroRiboniMX
New Contributor

Re: USB RS232 adapter

Thanks kai ❤️

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist