Create a custom mapping with something like this:
// match() will return an array of matches.
// .{1,30} matches any character (except for line terminators)
// {1,30} Quantifier — Matches between 1 and 30 times,
// as many times as possible, giving back as needed (greedy)
// g modifier: global. All matches (don't return after first match)
// Change the 30 to whatever string limit size you want for each OBX-5
/*jshint regexp: false */
var obxArray = source.getNode("OBX-5").match(/.{1,30} |.{1,30}/g);
/*jshint regexp: true */
// If there is only one OBX then remove it so we can replace it with the new OBX segments
message.removeFirstNode('OBX');
var k = 0;
for (var i=0 ; i < obxArray.length ; i++) {
k = i + 1;
message.addChild('/', 'OBX');
message.setNode('OBX[' + k + ']-1', k);
message.setNode('OBX[' + k + ']-5', obxArray[i]);
}