CompactLogix with Weintek MT8092XE

Brought back to life..hoping for a miracle.

Jsorick,
Compactlogix and CMT3092x
I am having this same issue as OP describes except not with a barcode scanner.
Can you share the macro you used? If you are still here.

I can display a string from the plc to the HMI. But i need the recipe input string to be transfered to the PLC, and then when i try to send it back to the HMI for display it reads every other letter. Which it is not being correctly transfered.
The manual says weintek, it cannot read the correct amount of charectors from compactlogics SINT(82).

Like OP says it only allows me to select the first SINT.0 when selecting an address for my ascii object.

Numeric works fine since it is a dint or similiar. But my part numbers are this form, 33fg46h.

I will try unicode in the morning, but it references using unicode with a macro.
 
Hi bill4807,
The macro that I used to get this working is shown below. I used FLAG0 of the barcode/keyboard status tags to trigger the macro. There may be a more elegant solution to this but I got it to work and it has not given me any problems. I hope this helps!

macro_command main()
char ScanData[40] = " "
short NumOfChars = 0
short ScanResult = 0
short DataRead = 0

GetData(ScanResult, "Barcode Scanner/Keyboard", RESULT, 0, 1)

if (ScanResult == 1) then
DataRead = 99
DELAY (10)
GetData(NumOfChars, "Barcode Scanner/Keyboard", BARCODE, 0, 1)
StringGet(ScanData[0], "Barcode Scanner/Keyboard", BARCODE, 1, 40)
DELAY (10)
SetData(NumOfChars, "Rockwell EtherNet/IP (CompactLogix)", "M1_INData_Len", 1)
StringSet(ScanData[0], "Rockwell EtherNet/IP (CompactLogix)", "M1_Barcode_Scan.DATA[0]", 40)
DELAY (10)
SetData(DataRead, "Rockwell EtherNet/IP (CompactLogix)", "M1_Scanner", 1)
end if

end macro_command
 
With indentation:


macro_command main()
char ScanData[40] = " "
short NumOfChars = 0
short ScanResult = 0
short DataRead = 0

GetData(ScanResult, "Barcode Scanner/Keyboard", RESULT, 0, 1)

if (ScanResult == 1) then
DataRead = 99
DELAY (10)
GetData(NumOfChars, "Barcode Scanner/Keyboard", BARCODE, 0, 1)
StringGet(ScanData[0], "Barcode Scanner/Keyboard", BARCODE, 1, 40)
DELAY (10)
SetData(NumOfChars, "Rockwell EtherNet/IP (CompactLogix)", "M1_INData_Len", 1)
StringSet(ScanData[0], "Rockwell EtherNet/IP (CompactLogix)", "M1_Barcode_Scan.DATA[0]", 40)
DELAY (10)
SetData(DataRead, "Rockwell EtherNet/IP (CompactLogix)", "M1_Scanner", 1)
end if

end macro_command

 

Similar Topics

Hello. I am using a WeinTek 3100 series HMI and the EasyBuilder Pro V5.06.01 to connect to a CompactLogix L24ER QB1B PLC using the "Allen-Bradley...
Replies
6
Views
3,894
Hi everyone, i have a compact logic 1769-L18 PLC and I'm using FTalk View ME for the display. I wanted to do some visualization on Grafana. At...
Replies
1
Views
95
Does anyone know what the data transfer rate for this series of CompactLogix PLC's? 1769-L24ER-QB1B to be exact. Cheers.
Replies
1
Views
98
Does this instruction calculate values during a single scan, or does it require number of scans based on element count in the array? For Example...
Replies
3
Views
115
Hello all, and thank you in advance for any assistance you may be able to provide! This is my first post, so if I need to reformat or change...
Replies
8
Views
479
Back
Top Bottom